(一) Rest风格:
(1)概念:
表现形式状态转换,说白了就是把网址的格式换了,传统的网址格式会看出来具体的操作,而使用Rest风格编写的网址,会让别人看不出来执行了什么操作,例如:

单从网址上看不出来操作,但与请求方式结合就知道了。常见的Rest支持的请求方式有四个。
(2) 四大基本访问动作:
1.查询---Get
2. 删除---Delete
3. 修改---Put
4. 新增---Post
Rest风格网址和关键字结合,就可以得知具体执行的是什么操作。
Restful:就是说日后有人跟你提起咱们用restFul开发,说的就是使用rest风格来开发代码。
(二)Restful入门案例:
(1)修改访问路径,在restMapping()括号中加上method参数,并为该参数赋值

(2)若需要引入路径的参数,则需要在访问路径中用{参数名}设置好,且与下方方法中的参数名保持一致,最后加上Pathvariable注解(表示这是一个路径参数)。如下图:

restful快速开发:
主要体现在注解的合并 ,抽取 以及字段的删除 方面。
(1)注解的合并:
类似RequestMapping( method = RequestMethod.GET)这样的注解,直接被合并成
@GETMapping()

(2)抽取:
如果多个方法都写了@RequestBody标签或者是@RequestMapping标签,那么就可以把这俩标签移到类前面,而把方法上的标签删除
而又可以把这两个注解替换成一个@RestController注解,这个注解内部是包含了RequestMapping和RequestBody标签的。

(3)字段的删除
把RestMapping提取到类前面之后,把表示路径的字段也加进去,然后把方法里面的路径删了,如果有路径参数就写在括号内:

如果是单个参数,可以使用路径参数注解Pathvirable,如果有多个参数,可以使用Pojo类型传参
(三)拦截器简介:
(1)概念 :
一种工作机制,用来拦截请求的,但不是不让访问进去,而是在访问的时候需要执行某部分代码,说白了就是"要想从此过,留下买路财"

图中的红色问号框就是SpringMVC对资源设置的两道拦截器,要求用户在访问Controller之前和之后都需要做一些设计。例如权限访问,得先检查你有无权限再进入。
(2)作用:
2.1 阻止原始方法的执行
2.2 在调用待执行的方法前/后得先执行某段代码
(3)与Filter过滤器的区别:
1.Filter过滤器属于Servlet技术,而拦截器属于SpringMVC技术。
2.两者的技术所在地不同,所能调用的方法也不同。filter不一定能调用拦截器本身的方法
3.filter对所有访问进行增强,而拦截器仅对SpringMVC的访问进行增强
什么是增强访问?
答:说白了,就是通过一系列的技术手段,使用户获得更好的进入体验,例如速度,安全性和便捷性上
(四)拦截器入门案例:
1.创建一个拦截器的实现类,在内部重写三个handle方法

2.创建SpringMVC配置类,扫描这个拦截器类

然后在配置类中注入拦截器对象,并设置拦截路径:

有一种简便方式,可以直接实现拦截器的注入,那就是在SpringMVC核心配置类中实现WebMVCCOnfiguer接口,但是这个类中仅有一个注入方法,框架不美观。

(五)拦截器参数
五大参数:

通过request,response 可以获取请求,响应数据,这俩参数就类似于Servlet的哪个request和response了
handle 封装了一系列属性和方法,通过获取handle对象,就可以利用反射获取一系列关于method的信息
ModleAndView 封装了一系列与页面跳转的相关数据,但由于现在都是返回json格式的数据,所以使用不多
ex就是Exception的对象,实际上是可以拿到在访问过程中抛出的异常对象的
拦截器链配置:
1.创建多个拦截器实现类
2.在SpringMVC配置类中按顺序添加拦截器,最终拦截器的的运行顺序依据添加的顺序而定。
一张图看清拦截器类的执行顺序。

如果第三个拦截器的prehandler方法返回的是false,则跳过第三个拦截器的post和after
如果第二个拦截器的prehandler方法返回的是false,则跳过第二和第三个拦截器的post和after方法。。。
所以prehandler方法的返回值决定是否会执行后面的posthandle和aftercompletion方法。
并且要注意:拦截器是按1 2 3 的顺序添加的,那么执行post和after的顺序就是按3 2 1执行的,与前者是反着来的,也就是先进后出。