三分钟带你理解 RESTful

发布于 更新于
本文目录
  1. 1.1、简介
  2. 1.2、常用请求方式
  3. 1.3、RESTful和其他接口设计的区别
  4. 1.4、状态码
  5. 1.5、响应报文类型

技术文章测试开发

大家如果接触过http协议,那么肯定听过一个名词“RESTful ”。RESTful 是目前最流行的 API 架构风格,用于 Web 数据接口的设计。那什么是RESTful 呢? RESTful 的核心思想: 请求方式 + URL的方式对资

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也是目前最常用的一种传输格式。

来源:testingpai

继续阅读