今日目标

三、REST风格

1 REST简介

问题导入

Rest风格使用了几种请求方式定义访问行为?

1.1 REST介绍

1.2 RESTful介绍

1.3 注意事项

2 RESTful入门案例

问题导入

Rest风格如何通过路径传递参数?

2.1 快速入门

做法:在Controller中定义方法时设定"http请求动作(请求方式)"和"设定请求参数(路径变量)"

2.2 @PathVariable介绍

image-20210805120253164

2.3 @RequestBody、@RequestParam、@PathVariable区别和应用

 

3 REST快速开发【重点】

3.1 代码中的问题

image-20210805132351738

以上截图中的代码和我们之前写的UserController中的方法类似,其中图中两个方法都有三处是有问题的,可以进行优化。存在的问题如下:

问题1:每个方法的@RequestMapping注解中都定义了访问路径/books,重复性太高。

问题2:每个方法的@RequestMapping注解中都要使用method属性定义请求方式,重复性太高。

问题3:每个方法响应json都需要加上@ResponseBody注解,重复性太高。

3.2 Rest快速开发

解决以上三个问题

解决问题1:在Controller类上使用@RequestMapping定义共同的访问路径。

解决问题2:使用@GetMapping @PostMapping @PutMapping @DeleteMapping代替@RequestMapping(method=RequestMethod.XXX)

 

解决问题3:在Controller类上使用@RestController注解,等同于@Controller与@ResponseBody两个注解组合功能

4案例:基于RESTful页面数据交互

4.1 案例效果和环境准备

4.1.1 案例效果

image-20210805140535262

4.1.2 环境准备

4.2 代码实现

4.2.1 制作SpringMVC控制器,并通过PostMan测试接口功能

image-20210805140307371

4.2.2 设置对静态资源的访问放行
4.2.3 前端页面通过异步提交访问后台控制器