restful

时间:2019-01-19
本文章向大家介绍restful,主要包括restful使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

RESTful

前后端要分离,而前端的设备多种多样,为了方便不同的前端设备和后端进行通信,必须有一种统一的机制。目前最流行的是restful风格接口。

RESTful架构是目前最流行的一种互联网软件架构。

符合以下三点要求的便是RESTful架构
1、每一个URI代表一种资源
2、客户端和服务器之间,传递这种资源的表现层
3、客户端通过四个HTTP动词对服务器端资源进行操作,实现“表现层状态转化”

HTTP动词

GET 从服务器取资源
POST 在服务器新建一个资源
PUT 更新资源(客户端提供完整资源)
PATCH 在服务器更新资源(只提供可改变的属性)
DELETE 从服务器删资源

HEAD 获取资源的元数据
OPTIONS 获取信息(只关于那些客户端可改变的)

状态码

200 OK - [GET]:服务器成功返回用户请求的数据
201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功
202 Accepted - []:表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT - [DELETE]:用户删除数据成功
400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作
401 Unauthorized - [
]:表示用户没有权限(令牌、用户名、密码错误)
403 Forbidden - [] 表示用户得到授权(与401错误相对),但是访问是被禁止的
404 NOT FOUND - [
]:用户发出的请求针对的是不存在的记录,服务器没有进行操作
406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)
410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的
422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误
500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功

restful风格接口的好处:接口名称相同,请求method,通过 RequestMethod.GET/POST/PUT/DELETE来区别,就可以实现增删改查。

参考文档:
[1] restful最佳实践
[2] restful
[3] restful API设计