第五章 接口架构风格—RESTful


  • 官方下载地址

动力节点springboot资料


  • 视频观看地址

https://www.bilibili.com/video/BV1XQ4y1m7ex

5.1 认识 REST

REST (英文: Representational State Transfer,简称 REST)

一种互联网软件架构设计的风格, 但它并不是标准, 它只是提出了一组客户端和服务器交 互时的架构理念和设计原则, 基于这种理念和原则设计的接口可以更简洁, 更有层次, REST 这个词,是 Roy Thomas Fielding 在他 2000 年的博士论文中提出的。

任何的技术都可以实现这种理念,如果一个架构符合 REST 原则,就称它为RESTFul架构 比如我们要访问一个 http 接口: http://localhost:8080/boot/order?id=1021&status=1 采用 RESTFul 风格则 http 地址为: http://localhost:8080/boot/order/1021/1

5.2 RESTful 的注解

Spring Boot 开发 RESTful 主要是几个注解实现

(1) @PathVariable

获取url 中的数据

该注解是实现RESTFul 最主要的一个注解

(2) @PostMapping

接收和处理 Post 方式的请求

(3) @DeleteMapping

接收 delete 方式的请求,可以使用GetMapping 代替

(4) @PutMapping

接收put方式的请求,可以用PostMapping 代替

(5) @GetMapping

接收 get方式的请求

5.3 RESTful 优点

➢   轻量, 直接基于 http, 不再需要任何别的诸如消息协议

get/post/put/delete 为 CRUD 操作

➢   面向资源, 一目了然,具有自解释性。

➢   数据描述简单, 一般以xml,json 做数据交换。

➢   无状态, 在调用一个接口(访问、操作资源) 的时候, 可以不用考虑上下文, 不用考虑当前状态,极大的降低了复杂度。

➢    简单、低耦合

5.4 注解练习

1. 编写 Controller

创建 MyRestController

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_spring#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot入门_02

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot入门_03#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_Java_04

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot_05#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_Java_06

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_Java_07#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot_08

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot笔记_09#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot笔记_10

application.properties 文件

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot入门_11#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_spring_12

5.4.2 使用 Postman 模拟发送请求, 进行测试

安装 Postman 测试软件,安装后执行 Postman.exe

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_spring_13#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot入门_14

使用方式,设置连接和参数,点击“发送”按钮

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot笔记_15#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_spring_16

5.4.3 请求路径冲突

这样的路径访问会失败,  路径有冲突。

#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot_17#yyds干货盘点#动力节点王鹤Springboot教程笔记(五)接口架构风格—RESTful_springboot_18

解决:设计路径,必须唯一,  路径uri 和 请求方式必须唯一。

5.4.4 RESTful 总结

➢    增 post 请求、删 delete 请求、改 put 请求、查 get 请求

➢    请求路径不要出现动词

例如: 查询订单接口

/boot/order/1021/1 (推荐)

/boot/queryOrder/1021/1 (不推荐)

➢    分页、排序等操作, 不需要使用斜杠传参数

例如: 订单列表接口

/boot/orders?page=1&sort=desc

一般传的参数不是数据库表的字段, 可以不采用斜杠