第五章 接口架构风格—RESTful
官方下载地址
视频观看地址
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 注解练习
5.4.1. 编写 Controller
创建 MyRestController
application.properties 文件
5.4.2 使用 Postman 模拟发送请求, 进行测试
安装 Postman 测试软件,安装后执行 Postman.exe
使用方式,设置连接和参数,点击“发送”按钮
5.4.3 请求路径冲突
这样的路径访问会失败, 路径有冲突。
解决:设计路径,必须唯一, 路径uri 和 请求方式必须唯一。
5.4.4 RESTful 总结
➢ 增 post 请求、删 delete 请求、改 put 请求、查 get 请求
➢ 请求路径不要出现动词
例如: 查询订单接口
/boot/order/1021/1 (推荐)
/boot/queryOrder/1021/1 (不推荐)
➢ 分页、排序等操作, 不需要使用斜杠传参数
例如: 订单列表接口
/boot/orders?page=1&sort=desc
一般传的参数不是数据库表的字段, 可以不采用斜杠