转载自:柠檬班罗杰老师
1、简介
大家如果接触过http协议,那么肯定听过一个名词“RESTful”。
RESTful是目前最流行的API架构风格,用于Web数据接口的设计。
那什么是RESTful呢?
RESTful的核心思想:请求方式+URL的方式对资源发起命令。
比如:GET /user这个命令中,GET 查询动作,user是被查询的对象。
比如:POST /user这个命令中,POST新增动作,user是被新增的对象。
2、常用请求方式
GET: 查询(Read)
POST: 新增(Add)
PUT: 更新(Update)(全部字段)
Patch: 更新(部分字段)
Delete: 删除(Delete)采用这种约定之后,每个动作对应不同的请求方式,但是URL不会发生变化。对于接口的维护和测试都是非常方便的。
3、RESTful和其他接口设计区别
传统接口设计方式:
GET/POST /getAllUser 查询所有的用户
GET/POST /getUserById?id=1 查询id=1用户
POST /createUser 创建用户
GET/POST /deleteByUserId?id=1 删除id=1用户 RESTful:
GET /user 查询所有的用户
GET /user/1 查询id=1用户GET /user?id=1 查询id=1用户
POST /user 创建用户
Delete /user/1 删除id=1用户
Delete /user?id=1 删除id=1用户通过上面对比你会发现,RESTful类型的接口更加简单轻量,需要记忆的东西也变少了,这就是RESTful魅力所在。
4、状态码
http状态码是一个三位数,范围100-599,以第一位数分类。
1XX 接受的请求正在处理
2XX 请求正常处理完毕 200
3XX 重定向(302)相关和缓存(304)
4XX 客户端错误,服务端无法处理请求404
5XX 服务器请求处理失败 500在RESTful接口设计中1XX和3XX基本用不到,4XX和5XX还是和普通接口一样,出现了什么错误做出对应提示即可。
只有2XX会有一些改变,传统接口成功之后我们都会统一返回200不做区分。
而RESTful对于不同的请求方式会返回不同的状态码。
如下:
GET: 200 OK
POST: 201 Created
PUT: 200 OK
PATCH: 200 OK
DELETE: 204 No Content5、响应报文类型
RESTful接口返回的响应报文一般是JSON或者XML,由COntent-Type这个实体头字段指定,不应该返回纯文本。
JSON也是目前最常用的一种传输格式。