拦截器拦截请求做额外的处理。
举个栗子:登录拦截器,拦截所有的请求,必须登录之后才能访问。
1 | package com.haichenyi.springbootbill.interceptors; |
新建LoginInterceptor实现HandlerInterceptor接口。这个接口有三个方法,pre,post,after, 看这个名字就可以想到这三个方法是怎么调用的,发送请求前,发送过程中,发送请求成功之后,所以,根据自己的需求,实现对应的方法即可。
我这里是登录拦截器,所以,在发送请求之前就要拦截,走自己的逻辑,如果,没有登陆过,就跳转登录界面,所以,我这里就实现了发送请求之前的回调,即preHandle方法。
然后,在你的SpringMvcConfiguration里面加上拦截器即可。
1 | package com.haichenyi.springbootbill.config; |
实现addInterceptors方法,添加拦截器,然后添加了 addPathPatterns 拦截所有带这个参数的请求。接着,又添加了 excludePathPatterns 不拦截所有带这个参数的请求。