所以,作为一名开发人员,我有一个非常基本的问题,休息标准我们有特定原因的 100 个错误代码 like:
- 4xx 如果资源相关
- 5xx 如果服务器发生异常
还有很多。
现在,当谈到实施时,我们会遇到一些情况直接返回404 as the 响应状态码 以及响应正文中的错误消息。对于这种方法,我认为有一点令人困惑,什么如果 URI 本身从未被创建过,这意味着假设 /a/b 没有实现并且是他们响应 404 的任何服务器,并且作为客户他们检查代码并说user如果他们使用此 API 搜索用户,则找不到。
相反,我的感觉(如果我错了请纠正我)是如果调用在服务器中成功完成(没有任何异常和错误)我们返回 200 并在响应正文中以特定格式返回,例如:
{
"status" : boolean, // if the overall call succeeded
"message" : string, // message from server
"code" : integer, // code, http code or business level code
"data" : object,//actual data
"type" : string, // type of the data like object, basic, array, (basically a value from enum)
}
任何调用的响应代码始终为 200,具体代码可在code响应格式的键。
现在从客户端的角度来讨论这些 REST 调用的用法,在客户端中是否是浏览器、IOS、Android 或桌面应用程序,我们调用 API 并检查 200 as the 响应码我们所有的进一步功能都将依赖于status & code响应主体本身的键。再次如果响应代码本身不是 200那么这实际上是服务器的问题。
谈到 API 的 SDK 实现,我们可以在其中执行相同的操作,方法是始终检查status and code如果Response Code为200,则直接拒绝非200 Response Code。
我觉得通过这种方法,客户端和 SDK 端的实现将更加通用和直接。
如果我错了请纠正我?请发表一些看法。
提前致谢。