首页 > 解决方案 > 来自 Api 的 Http 请求处理的最佳方法

问题描述

当我们尝试添加、删除、创建、更新等时,基本数据库操作的 api 返回值的最佳实践是什么?

1-(如果存在这些操作最合适的状态码是什么?)只返回相应的http状态码?(例如,删除操作返回204,创建操作返回201,“数据不存在”返回500等)

2-返回布尔值

3-返回自定义异常

很快,假设我们有项目A并且它正在使用项目B的 api 。并且B试图从db中删除一条具有特定id的记录,但是db中不存在这个id。对于这种情况,我们应该怎么做?

标签: restapiweb-serviceshttp

解决方案


1-(如果存在这些操作最合适的状态码是什么?)只返回相应的http状态码?(例如,删除操作返回204,创建操作返回201,“数据不存在”返回500等)

返回 204 用于删除和 201 用于创建绝对没问题,但请尝试从请求者的角度考虑什么是最具描述性的响应代码。另外,请记住,500 响应代码用于服务器端出现问题(例如意外异常)时。

很快,假设我们有项目A,它正在使用项目B的api。B试图从db中删除一条具有特定id的记录,但是这个id在db中不存在。对于这种情况,我们应该怎么做?

再次考虑一下对请求者最有帮助的错误。404 Not Found将准确描述操作失败的原因。如果您想让它更具描述性,您可以在响应正文中放置一条错误消息 - 但您不必这样做。


推荐阅读