后端web开发框架(八):Springboot拦截器的使用
一、拦截器功能简介及使用
1. 拦截器功能简介
拦截器主要出现在Controller类中,在客户端调用接口之前做一些预处理,或者在调用接口之后对返回信息做一层处理。如果不加拦截器,那我们需要对每一个接口加一段代码做处理,如果涉及到多个接口、多个模块,那我们的代码维护任务无疑是繁重的。
2. 拦截器分类
HandlerInterceptor 所有自定义拦截器或者springboot提供的拦截器的鼻祖,是最常见的,其拦截的http请求是来自于客户端、浏览器之类
preHandle():当某个URL已经匹配到对应的controller类中的某个方法,且在这个方法执行之前执行。所以preHandle()方法可以决定是否将请求放行,这是通过返回值来决定的,返回true则放行,返回false则不会向后执行
postHandle():当某个URL已经匹配到对应的controller类中的某个方法,且在执行完了该方法之后执行,但是在DispatcherServlet视图渲染之前,所以在这个方法中有个ModelAndView参数,可以在此做一些修改动作
afterCompletion():该方法是在整个请求处理完成之后(包括视图渲染)执行,这时做一些资源的处理工作,这个方法只有在preHandle()成功执行后并且返回true后才会执行。
3.配置拦截器
SpringBoot2前:
WebMvcConfigurerAdapater
SpringBoot2后:
WebMvcConfigurationSupport
@Autowired:引入自定义拦截器
addResourc
上一篇:
5款热门的远程控制软件,让你事半功倍