汽车给你的API客户端
使用量
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()
配置
| 选项名称 | 含义 |
|---|---|
host | API 网关的 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 服务
选项服务
-
fetchFrameNumberTypes- 它会得到类型 IDs 从 vin 搜索
fetchFrameNumberOptionsfetchProductionYearByFrameNumber
库存搜索服务
目录服务
经纪人服务
电子邮件发送服务
用户通知服务
报告服务
汽车销售跟踪服务
买方服务
在测试中模仿
为了能在测试中嘲弄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(), })) - 您现在可以建立每个测试基础的模拟:
只在 TypeScript 工程中需要打字(fetchListing as jest.Mock).mockReturnValue(`<your mocked data>`) - 并期望模拟函数:
expect(fetchListing).toHaveBeenCalled()
记住,这在你的测试中创造了一个全球模拟。 你需要清除模拟状态 beforeEach数字 :
(fetchListing as jest.Mock).mockClear()
工厂
下列工厂出口:
TypeFactorySearchTypeFactoryOptionsFactoryListingFactorySearchListingFactoryEmptyListing- 建立一个没有任何价值的列表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上发布,使用语义-放出,一旦您合并为主. 请 确保您的合并承诺信息符合相应的公约.