REST架构风格 && RESTful API 中的资源、操作和结果

[原文1] https://www.jianshu.com/p/5f19d9df650f

[原文2] https://www.infoq.cn/article/understanding-restful-style

资源

1、用 URL用来指定一个资源,资源就是服务器上的数据

2、资源地址使用嵌套的结构

3、URL 由名词组成

4、客户端可以与之互动(获取、提交、修改、删除)

操作

客户端通过对服务器上的某个资源使用不同的 HTTP 方法来进行不同的操作:

方法 含义
GET 获取资源
HEAD 获取资源概况,响应的HTTP不带body
POST 新建资源
PUT 更新资源,提供的是完整的资源数据
PUTCH 更新资源,提供的是部分的需要修改的资源数据
DELETE 删除资源

tips:

1、幂等方法

幂等方法是指,对同一个内容进行请求,发出n次的效果与发出1次的效果相同。如 HTTP 方法中的 GET、HEAD、PUT、DELETE 方法。

2、PATCH 是幂等的还是非幂等的

因为PATCH的实现方法,有可能是“提供一个用来替换的数据”,也有可能是“提供一个更新数据的方法,如data++”。后者的话即是不幂等的。

3、安全方法

安全方法是指,对一个内容进行请求,不会造成服务器资源数据的改变

结果

RESTful API 要求充分利用HTTP状态码:

状态码 方法 含义
200 OK [GET] 成功返回请求数据
201 CREATED [POST/PUT/PATCH] 新建或修改数据成功

202 ACCEPTED

[*] 表示请求已经进入后台排队(异步任务)

204 NO CONTENT

[DELETE] 删除数据成功
400 INVALID REQUEST [POST/PUT/PATCH] 表示请求有错误
401 UNAUTHORIZED [*] 表示用户没有权限(token令牌、用户名密码错误)
403 FOBIDDEN [*] 表示用户得到授权,可以访问部分内容,在该页面禁止访问
404 NOT  FOUND [*]

服务器不存在请求的资源数据

406 NOT ACCEPTABLE [GET] 用户请求的格式不能获取(如请求JSON,但只有XML格式的数据)
410 GONE [GET] 用户请求的资源数据已经被永久删除
412 UNPROCESABLE ENTITY [POST/PUT/PATCH]

请求创建对象时发生一个验证错误 

500 INTERNAL SERVAL ERROR

[*] 服务器发生错误
502    网关错误
503   服务不可用,服务器暂时过载或维护
504   网关超时

猜你喜欢

转载自blog.csdn.net/hoanFir/article/details/87914442