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

获取所有父资源的GET请求响应体是否应返回子资源列表?

如何获取包含员工列表的公司集合?

我来给你捋捋具体的实现思路哈——咱们要做的就是把两个接口的数据整合,让每个公司对象里都带上对应的员工列表。下面我用前端常用的JavaScript来举个实际例子,不管你用浏览器的fetch还是Node.js的axios,核心逻辑都是相通的:

实现步骤

  • 第一步:先调用api/companies接口,拿到所有公司的基础数据
  • 第二步:遍历每个公司,调用对应的api/companies/{companyId}/employees接口获取该公司的员工列表
  • 第三步:把员工列表合并到对应的公司对象里,最终得到整合后的完整数组

代码示例(基于浏览器fetch API)

async function getCompaniesWithEmployees() {
  try {
    // 先拉取所有公司的基础信息
    const companiesRes = await fetch('api/companies');
    const companies = await companiesRes.json();

    // 并行请求每个公司的员工数据,提升效率
    const companiesWithStaff = await Promise.all(
      companies.map(async (company) => {
        const employeesRes = await fetch(`api/companies/${company.id}/employees`);
        const employees = await employeesRes.json();
        // 把员工列表合并到原公司对象中
        return { ...company, employees };
      })
    );

    return companiesWithStaff;
  } catch (err) {
    console.error('数据获取失败:', err);
    throw err;
  }
}

// 调用函数查看结果
getCompaniesWithEmployees().then(mergedData => {
  console.log('整合后的公司+员工数据:', mergedData);
});

小提示

  • 用Promise.all并行请求员工数据,比逐个串行请求效率高很多
  • 一定要加错误捕获,避免单个接口请求失败导致整个流程卡壳
  • 如果公司数量特别多,建议加个请求节流逻辑,防止一下子发太多请求触发接口限流

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:17:54