批量请求

批量端点接受一个包含多个项目的数组(例如要创建的记录、要删除的 ID),所有项目都通过单个请求提交,从而节省了每个项目的往返次数。由于某些项目可能成功而其他项目可能失败,因此响应会分别报告每个项目,而 207 Multi-Status 状态码正是用于表示这种情况: "look inside, the outcomes differ" 。

工作原理

响应体列出了每个项目的状态,通常与请求顺序相同,或者使用客户端提供的 ID 作为键。不同的设计在原子性方面有所不同:有些批次是全有全无的,如果任何项目无效,则返回一个 4xx 错误;而另一些批次则会提交可以提交的项目,并报告剩余的项目。API 必须明确说明具体采用哪种方式。

误解

批量处理返回 2xx 表示一切正常。207 属于成功状态码,如果客户端只检查 response.ok,即使一半的记录被拒绝,也会报告成功。批量处理客户端必须逐项检查结果。

点击这里试试

POST /friends/v1/characters/bulk会分别验证每个项目,如果某些项目失败,则会返回 207;POST /friends/v1/characters/bulk-delete会以相同的方式报告部分成功;将一个错误项目添加到正确项目中即可查看结果。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间