三分钟带你理解 RESTful

本贴最后更新于 1561 天前,其中的信息可能已经时过境迁
1.1、简介

大家如果接触过http协议,那么肯定听过一个名词“RESTful ”。RESTful 是目前最流行的 API 架构风格,用于 Web 数据接口的设计。那什么是RESTful 呢?
RESTful 的核心思想: 请求方式 + URL的方式对资源发起命令。
比如:GET /user 这个命令中,GET 查询动作,user 是被查询的对象。
比如:POST /user 这个命令中,POST 新增动作,user 是被新增的对象。

1.2、常用请求方式
GET:查询(Read)
POST:新增(Create)
PUT:更新(Update)
PATCH:部分更新(Update)
DELETE:删除(Delete)

采用这种约定之后,每个动作对应不同的请求方式,但是URL不会发生变化。对于接口的维护和测试都是非常方便的。

1.3、RESTful和其他接口设计的区别

传统接口设计方式:

GET/POST /getAllUsers  		 	查询所有的用户
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魅力所在。

1.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 Content
1.5、响应报文类型

RESTful接口返回的响应报文一般是JSON或者XML,由Content-Type这个实体头字段指定,不应该返回纯文本。JSON也是目前最常用的一种传输格式。

  • Java
    59 引用 • 501 回帖 • 1 关注
  • 网络
    6 引用 • 4 回帖 • 2 关注
1 操作
luojie 在 2020-08-06 17:41:17 更新了该帖
回帖
请输入回帖内容 ...