云原生(08):RESTful API中的HTTP方法和状态码总结
Posted 01WORLD
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生(08):RESTful API中的HTTP方法和状态码总结相关的知识,希望对你有一定的参考价值。
今天总结一下RESTful API中常用的HTTP方法和状态码。
方法
RESTful中常见的方法主要是以下5种,其中PATCH又用的比较少。在这POST和PUT方法中,请注意符合幂等性的方法是PUT,POST方法不一定保证幂等性。
GET
CRUD:Read
说明:获取某个对象
返回码:
200 - 获取成功
404 - 未找到
POST
CRUD:Create
说明:创建某个对象
返回码:
201 - 成功创建
PUT
CRUD:Update/Replace
说明:更新某个对象
返回码:
405 - 方法不允许
200 - 更新成功
204 - 未作出更新
404 - 不存在
PATCH
CRUD:Update
说明:更新某个对象的某个属性
返回码:
405 - 方法不允许
405 - 方法不允许
200 - 更新成功
204 - 未作出更新
404 - 不存在
DELETE
CRUD:Delete
说明:删除某个对象
返回码:
405 - 方法不允许
200 - 成功
404 - 未找到
通用返回码
上文仅仅列出了针对某个操作的返回码,在实际中,还会用到其他返回码,尤其是以下几个:
401
未授权。对客户端如果验证不通过,则需要返回401状态码,让客户端根据该码进行必要的处理,譬如跳转到验证页面。
403
该代码说明该资源禁止当前用户访问。
500
服务器错误。该代码也可以作为其他代码不适用的场景下的返回码。
503
服务不可用。一般API不应该返回该代码,它更多用于Web服务器的响应。
错误码 vs 代码200
如果程序不能正常返回200代码,按照以上方法和代码的意义,我们应当优选错误码,并在响应的正文中显示错误信息或者提示信息。但是请注意,常用的编程语言对非20X的代码都是以触发异常的方式提醒的,这就需要try……catch……来捕获异常。请看下面代码的演示:
Status: 200
Response JSON: {errno: 0, errmsg: 'susccess'}
Status: 500
Response JSON: {errno: 1, errmsg: 'Failed to update'}
Status: 200
Response JSON: {errno: 1, errmsg: 'Failed to update'}
大家可以根据各自的习惯去选择。但一点确定风格,后续的API开发必须遵照该风格。
接下来向大家推荐《云原生架构进阶实战》这本书。该书是我本人撰写的,历时数月,多次修改,在机械工业出版社出版。该书聚焦于云原生架构的理念和基础知识,并通过实战向大家讲解和展示云原生架构的魅力。该书第一遍需要几分钟即可读完,第二遍需要两到三天读完,第三遍以后,可以作为工具书来翻阅,之后可以品位其中的思想精髓。值得您购买。点击“阅读原文”即可进入网上商城的购买页面。
以上是关于云原生(08):RESTful API中的HTTP方法和状态码总结的主要内容,如果未能解决你的问题,请参考以下文章