You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改API方法,使其支持零个或一个可选type参数?

问题描述

API的可选参数type接受字符串(string)列表,实际无需传入多个type值,但存在完全不传入该参数的场景。需要修改以下方法,使其支持传入零个或一个参数:

const checkIfExists = async (type: string) => {
   const result = await some_api.list(
       {
         limit: 1,
         type: [type],
       }
   );

   return result.data.length > 0
};

解决方案

通过两个关键修改即可实现需求:

  1. 将函数参数type设为可选参数(添加?标记),允许调用时不传该参数;
  2. 构造API请求参数时,仅当type存在时才添加type字段,避免传入多余的空字段。

修改后的代码(两种写法任选其一)

写法一:使用对象展开语法

const checkIfExists = async (type?: string) => {
  const apiParams = {
    limit: 1,
    ...(type && { type: [type] })
  };
  const result = await some_api.list(apiParams);
  return result.data.length > 0;
};

写法二:条件添加属性

const checkIfExists = async (type?: string) => {
  const apiParams = { limit: 1 };
  if (type) {
    apiParams.type = [type];
  }
  const result = await some_api.list(apiParams);
  return result.data.length > 0;
};

说明

  • 调用checkIfExists()(不传参数)时,apiParams中不会包含type字段,符合API的不传参场景;
  • 调用checkIfExists('xxx')时,type字段会以数组形式传入,匹配API接受字符串列表的要求;
  • 两种写法逻辑一致,可根据个人代码风格选择。

内容的提问来源于stack exchange,提问作者ambe5960

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:21:01