5.1 风格简介
RESTful(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量级的通信协议,广泛应用于现代的Web服务开发。
通过遵循 RESTful 架构的设计原则,可以构建出易于理解、可扩展、松耦合和可重用的 Web 服务。RESTful API 的特点是简单、清晰,并且易于使用和理解,它们使用标准的 HTTP 方法和状态码进行通信,不需要额外的协议和中间件。
总而言之,RESTful 是一种基于 HTTP 和标准化的设计原则的软件架构风格,用于设计和实现可靠、可扩展和易于集成的 Web 服务和应用程序!
5.2 风格特点
- 每一个URI代表1种资源(URI 是名词);
- 客户端使用GET、POST、PUT、DELETE 4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
- 资源的表现形式是XML或者JSON;
- 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。
5.3 风格规范
- HTTP协议请求方式要求
REST 风格主张在项目设计、开发过程中,具体的操作符合HTTP协议定义的请求方式的语义。
操作 |
请求方式 |
查询操作 |
GET |
保存操作 |
POST |
删除操作 |
DELETE |
更新操作 |
PUT |
- URL路径风格要求
REST风格下每个资源都应该有一个唯一的标识符,例如一个 URI(统一资源标识符)或者一个 URL(统一资源定位符)。资源的标识符应该能明确地说明该资源的信息,同时也应该是可被理解和解释的!
使用URL+请求方式确定具体的动作,他也是一种标准的HTTP协议请求!
操作 |
传统风格 |
REST 风格 |
保存 |
/CRUD/saveEmp |
URL 地址:/CRUD/emp 请求方式:POST |
删除 |
/CRUD/removeEmp?empId=2 |
URL 地址:/CRUD/emp/2 请求方式:DELETE |
更新 |
/CRUD/updateEmp |
URL 地址:/CRUD/emp 请求方式:PUT |
查询 |
/CRUD/editEmp?empId=2 |
URL 地址:/CRUD/emp/2 请求方式:GET |
- 总结
根据接口的具体动作,选择具体的HTTP协议请求方式
路径设计从原来携带动标识,改成名词,对应资源的唯一标识即可!
5.4 接口设计
功能 |
接口和请求方式 |
请求参数 |
返回值 |
分页查询 |
GET /user |
page=1&size=10 |
{ 响应数据 } |
用户添加 |
POST /user |
{ user 数据 } |
{响应数据} |
用户详情 |
GET /user/1 |
路径参数 |
{响应数据} |
用户更新 |
PUT /user |
{ user 更新数据} |
{响应数据} |
用户删除 |
DELETE /user/1 |
路径参数 |
{响应数据} |
条件模糊 |
GET /user/search |
page=1&size=10&keywork=关键字 |
{响应数据} |