1.REST API介绍

不同于SOAP是面向活动/服务的,有严格的规范和标准,REST API是面向资源的接口设计(resource,网络上所有事物都可以抽象为资源)。此外,REST API也是满足CRUD原则的应用协议。

1.1REST支持的方法:

HEAD:只获取某个资源的头部信息;
GET:获取所有资源;
POST:创建资源;
PATCH:更新资源部分属性,实际用的很少;
PUT:更新所有资源;
DELETE:删除资源。

1.2基本概念:

幂等性:发送一次和多次请求引起的边界效应是一致的,比如POST不是幂等方法。
安全性:GET、HEAD和OPTION是安全的方法,主要是在实现上对数据的获取,不具有边界效应(Side Effect)

2.REST API接口规范

2.1设计规范

.协议:使用https协议,保证交互数据的传输安全;
.域名:将API部署在专用域名下,比如:https://api.example.com或https😕/域名/API/...
.版本控制:将版本号放在URL或header中。
.路径:只能包含名词,不能包含动词。
.过滤消息:?limit=10 ?offset=10 ?page=1 ?sortby=name,分别含义只显示10条,显示几页,对结果排序。
.HypermediaAPI:返回结果中提供相关资源的链接,连向其他API方法。
.验证:确定用户是其申明的身份,如帐号/密码。
.授权:保证用户有对请求资源特定操作的权限,如:用户私人信息只能自己访问;特殊操作只能管理员操作。

2.2HTTP 状态码(status code)

A.2开头表示成功
200(ok)现有资源已被更改,请求发送成功;
201(created)新资源被成功创建;
202 (accepted)已接受处理请求但未完成(异步处理)
204 请求执行成功,但没有数据,浏览器不用刷新界面,也不用跳转,用于仅是需要返回成功即可。
B.3开头表示重定向
301(Moved Permanently)资源URI(统一资源标识符)被更新
302 请求重定向到其他地方。
303(See Other)其他(如负载均衡)
C.4开头表示客户端错误
400(bad request)坏请求,比如:客户端发送请求有语法错误。
401 访问页面未授权
403 无权限访问页面
404(not found)资源不存在,比如URL输入有问题。
406 (not accepted) 资源不存在,URL输入有问题
409(conflict)使用冲突
412(Precondition Failed)前置条件失败
415(unsupported media type)错误媒体类型,接收到的表示不支持。
D.5开头代表服务器端异常
500(internal server error)服务器端错误(内部异常)
502不可响应,如:后端服务器的服务没起来,应用或依赖应用问题。
503(service Unavailable)服务器器当前无法处理请求,比如应用池过高,消息队列太多,服务器无法处理,等待30s或10s可恢复正常
504服务器端超时,没返回结果,比如,因配置错误,导致的网关超时。

2.3返回结果

注意:通用错误码一般由具体产品API文档给出。
msg: ---与code要一一对应。
code:
request: --当前请求格式

posted on 2020-05-12 11:07  dLarger  阅读(242)  评论(0)    收藏  举报