什么是RESTful?
Representational State Transfer(表象层状态转变),是一种架构方式的约束和规则。在实际应用中,API开发可以参考RESTful的标准但是也没必要完全遵守。
在实际工作中,RESTful对api接口规范,命名规则,返回值,授权验证等做了一定的约束,一般的项目, api只要易测试,足够安全,风格一致,可读性强,没有歧义,方便调用就足够了。
RESTFUL特点包括:
1、每一个URI(Uniform Resource Identifier)代表1种资源;(服务器上所有的东西都抽象成一个资源)
2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;(客户端不直接对服务器端的资源进行操作,而是通过前端服务器视图,然后前段视图再调用服务器资源)
3、通过操作资源的表现形式来操作资源;(资源的表述就是资源的格式,是HTML、XML、JSON、纯文本、图片等等,可以用各种各样的格式来表述你获取到的资源)
4、REST必须通过统一的接口对资源进行操作
HTTP1.1协议定义了资源的统一接口:
·GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS
`HTTP HEAD可以自定义
·HTTP STATUS响应状态 可自定义
·一套标准的内容协商机制
·一套标准的缓存机制
·一套标准的客户端身份认证机制
5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。