目录
1何为 RESTful
RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、
扩展方便,所以正得到越来越多网站的采用。
REST
这个词,是
RoyThomasFielding
在他
2000
年的博士论文中提出的
.REST
是
RepresentationalStateTransfer
的缩写,翻译是”表现层状
态转化”。可以总结为一句话:
REST
是所有
Web
应用都应该遵守的架构设计指导原则。
面向资源是
REST
最明显的特征,对于同一个资源的一组不同的操作。资源是服务器上一个
可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。
REST
要求,必须
通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操
作。
7
个
HTTP
方法:
GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS
2接口规范
项目中一般用到了GET/POST/PUT/DELETE四种方法,现在介绍一下这四种方法
3GET
安全且幂等
获取表示
变更时获取表示(缓存)
200(OK)-表示已在响应中发出
204(无内容)-资源有空表示
301(MovedPermanently)-资源的URI已被更新
303(SeeOther)-其他(如,负载均衡)
304(notmodified)-资源未更改(缓存)
400(badrequest)-指代坏请求(如,参数错误)
404(notfound)-资源不存在
406(notacceptable)-服务端不支持所需表示
500(internalservererror)-通用错误响应
503(ServiceUnavailable)-服务端当前无法处理请求
4POST
不安全且不幂等
使用服务端管理的(自动产生)的实例号创建资源
创建子资源
如果没有被修改,则不过更新资源(乐观锁)
200(OK)-如果现有资源已被更改
201(created)-如果新资源被创建
202(accepted)-已接受处理请求但尚未完成(异步处理)
301(MovedPermanently)-资源的URI被更新
303(SeeOther)-其他(如,负载均衡)
400(badrequest)-指代坏请求
404(notfound)-资源不存在
406(notacceptable)-服务端不支持所需表示
409(conflict)-通用冲突
412(PreconditionFailed)-前置条件失败(如执行条件更新时的冲突)
415(unsupportedmediatype)-接受到的表示不受支持
500(internalservererror)-通用错误响应
503(ServiceUnavailable)-服务当前无法处理请求
5PUT
不安全但幂等
用客户端管理的实例号创建一个资源
通过替换的方式更新资源
如果未被修改,则更新资源(乐观锁)
200(OK)-如果已存在资源被更改
201(created)-如果新资源被创建
301(MovedPermanently)-资源的URI已更改
303(SeeOther)-其他(如,负载均衡)
400(badrequest)-指代坏请求404(notfound)-资源不存在
406(notacceptable)-服务端不支持所需表示
409(conflict)-通用冲突
412(PreconditionFailed)-前置条件失败(如执行条件更新时的冲突)
415(unsupportedmediatype)-接受到的表示不受支持
500(internalservererror)-通用错误响应
503(ServiceUnavailable)-服务当前无法处理请求
6DELETE
不安全但幂等
删除资源
200(OK)-资源已被删除
301(MovedPermanently)-资源的URI已更改
303(SeeOther)-其他,如负载均衡
400(badrequest)-指代坏请求
404(notfound)-资源不存在
409(conflict)-通用冲突
500(internalservererror)-通用错误响应
503(ServiceUnavailable)-服务端当前无法处理请求