@carforyou/api-client

中文文档
46.4.1发布于 2022/03/21MITTypeScriptESM + CJS零依赖近 30 天下载 1.2万

连接到 API 的 Api 客户端

此软件包已被标记为弃用

Platform was closed down and no longer maintained. Check @smg-automotive/api-client-pkg as replacement

中文使用文档
文档目录19 节
  1. 使用量
  2. 配置
  3. 在开发过程中模仿API的呼叫
  4. 已认证的请求
  5. 接通API电话
  6. CarForYou 服务
  7. 选项服务
  8. 库存搜索服务
  9. 目录服务
  10. 经纪人服务
  11. 电子邮件发送服务
  12. 用户通知服务
  13. 报告服务
  14. 汽车销售跟踪服务
  15. 买方服务
  16. 在测试中模仿
  17. 工厂
  18. 发展
  19. 发布新版本

汽车给你的API客户端

semantic-release

使用量

npm install @carforyou/api-client

初始化 API 客户端 :

import { ApiClient } from "@carforyou/api-client"

ApiClient.configure(<your_configuration_object>)

导入 fetchXYZ 您需要并使用代码 :

import { fetchReferenceData } from "@carforyou/api-client"

fetchReferenceData()

配置

选项名称含义
hostAPI 网关的 URL
debug设定为 true 改为 console.log 请求和API的答复.

在开发过程中模仿API的呼叫

你可以通过一个习惯 host 与 API 调用选项对象.

后端报价 每个服务的 API 站点,用于:

import { fetchListings } from "@carforyou/api-client"

fetchListings({ host: "https://inventory-search-service-stub.dev.carforyou.ch" })

如果您想要提供自己的模拟数据, 请在本地提供模拟 json 文件 json服务器。 。 。 .

import { fetchListings } from "@carforyou/api-client"

fetchListings({ host: "http://localhost:3001" })

已认证的请求

需要授权的请求,需要通过有效的JWT认证用户在请求的资源上.

执行经认证的请求

要认证请求,只需通过 isAuthorizedRequest 选项到请求帮助器(牵引/后置/put/delate-Data),Api客户端将添加 Authorization 头曰. 对于服务器侧请求,不要忘记将选项传递到帮助器函数上,这样消费者就可以通过 accessToken 在援引请求时.

注:如果一个人忘记添加 isAuthorizedRequest 选项,访问符将不设为信头。 在消费者方面,如果访问令牌没有被通过,api客户端会出错.

执行经认证的请求

将访问令牌作为请求选项传递到 api 呼叫 dummyFetchCall(data, {accessToken: JWT})

刷新访问文件夹

消费者有责任确保向请求人传递有效标志。 API 客户端会通过提供的代号作为 Authorization api呼叫的页眉.

接通API电话

还输出附带模式和参数类型以及默认值.

CarForYou 服务

选项服务

库存搜索服务

目录服务

经纪人服务

电子邮件发送服务

用户通知服务

报告服务

汽车销售跟踪服务

买方服务

在测试中模仿

为了能在测试中嘲弄Api呼叫,你需要:

  • 要求测试文件中对 API 调用进行嘲弄 :
    import { fetchListing } from "@carforyou/api-client"
    
  • 使用嘲笑来嘲笑模块:
    jest.mock("@carforyou/api-client", () => ({
      // Add this if you want to have access to other exported methods
      ...jest.requireActual("@carforyou/api-client"),
      fetchListing: jest.fn(),
    }))
    
  • 您现在可以建立每个测试基础的模拟:
      (fetchListing as jest.Mock).mockReturnValue(`<your mocked data>`)
    
    只在 TypeScript 工程中需要打字
  • 并期望模拟函数:
    expect(fetchListing).toHaveBeenCalled()
    

记住,这在你的测试中创造了一个全球模拟。 你需要清除模拟状态 beforeEach数字 :

  (fetchListing as jest.Mock).mockClear()

工厂

下列工厂出口:

  • TypeFactory
  • SearchTypeFactory
  • OptionsFactory
  • ListingFactory
  • SearchListingFactory
  • EmptyListing - 建立一个没有任何价值的列表
  • ListingFromType - 从类型中初始化一个含有数值的空列表
  • SearchMessageLeadFactory - 建立主电子邮件列表
  • SearchCallLeadFactory - 建立牵头呼叫列表

发展

npm run build

您可以将本地 npm 软件包链接到任何本地项目中 :

cd carforyou-api-client-pkg
npm run build

cd carforyou-listings-web
npm link ../carforyou-api-client-pkg

发布新版本

新版本在Ci上发布,使用语义-放出,一旦您合并为主. 请 确保您的合并承诺信息符合相应的公约.

版本与发布记录

@carforyou/api-client 共发布 917 个版本,首次发布于 2019/09/20;过去 12 个月发布了 0 个版本。

版本发布日期距今
46.4.1latest2022/03/214 年前
46.4.1-vstx-11-db166a8a042082ba4178f672df4c0643d77e1f9f.22022/03/214 年前
46.4.1-vstx-11-db166a8a042082ba4178f672df4c0643d77e1f9f.12022/03/184 年前
46.4.1-vstx-11-43364af886b78df8a13eb82d9fd81b4753265566.12022/03/184 年前
46.4.02022/03/034 年前
46.4.0-car9676-04228354774a9983d6c653ee8fec6bb84f9c00d7.12022/03/034 年前

其他发布通道:next → 9.1.0-1,car3592 → 9.2.1-car3592.3,car3278 → 9.2.2-car3278.1,CAR-3715-add-profile-endpoint → 10.1.0-CAR-3715-add-profile-endpoint.2,form-typings → 10.1.1-form-typings-a63df13464373cc51e017cdefaa88c57ab82ec8b.1,add-helper-functions → 10.2.0-add-helper-functions-ce3575c70e2008faeef70fb0041518e8a0d73773.1。

关于 @carforyou/api-client 的常见问题

@carforyou/api-client 是什么?

连接到 API 的 Api 客户端注意:该包已被作者标记为弃用——Platform was closed down and no longer maintained. Check @smg-automotive/api-client-pkg as replacement

如何安装 @carforyou/api-client?

在项目目录运行 npm install @carforyou/api-client,或使用 pnpm add / yarn add / bun add。

@carforyou/api-client 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@carforyou/api-client 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@carforyou/api-client 可以商用吗?

@carforyou/api-client 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@carforyou/api-client 的下载量有多少?

根据 npm 官方下载统计,@carforyou/api-client 在 2026/10/09 – 2026/11/07 这 30 天内被下载 12,259 次,日均约 409 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@carforyou/api-client 还在维护吗?

最新版本 46.4.1 发布于 2022/03/21(4 年前);至今共发布 917 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/09/20。作者已将其标记为弃用,新项目建议寻找替代方案。