使用的公共代码库 @mittwald/api-client-* 包中。
API
assertStatus, assertOneOfStatus
API客户端不会根据设计验证任何响应状态,从而为您提供
大多数灵活性,同时处理错误的响应。如果你想断言
一些期望的响应状态,可以使用 assertStatus 分别地。
assertOneOfStatus 函数。
expectedStatus assertStatus(响应)
返回:空白
这个方法抛出 ApiClientError 如果给定 response 不匹配
这个 expectedStatus.
当你使用TypeScript时,这个函数也会断言正确的响应 类型。
const response = await client.project.getProject({
pathParameters: {
projectId: "...",
},
});
assertStatus(response, 200);
const project = response.data;
// Project properties can now be accessed safely
const name = project.name;
expectedStatus assertOnOfStatus(响应)
返回:空白
这个方法抛出 ApiClientError 如果给定 response 不匹配
这个 expectedStatus.
当你使用TypeScript时,这个函数也会断言正确的响应 类型。
const response = await client.project.getProject({
pathParameters: {
projectId: "...",
},
});
assertOneOfStatus(response, [200, 404]);
if (!response.data) {
console.log("Project not found");
}
常见的拦截器
为了更容易地选择一些API机制,这里有几个 拦截器 很容易 配置。
withAccessToken
在大多数情况下,您希望将用户访问令牌添加到每个API-Request中
请求头。如果你需要自己做这件事,这可能会很乏味。来
自动设置请求头的使用 withAccessToken 为你的 APIClient
实例。
const client = new APIClient({ baseURL });
const authenticatedClient = withToken(client, token);
withEventConsistencyHandling
选择加入
事件一致性处理
你可以使用 withEventConsistencyHandling. 这将设置自动处理
这个 etag 响应头,并将其值设置为 if-event-reached 请求
GET请求头:
const client = new APIClient({ baseURL });
const authenticatedClient = withEventConsistencyHandling(client);