十二,SpringBoot-自定义拦截器

springboot自定义拦截器,需要继承WebMvcConfigurerAdapter并重写addInterceptors。

======以下仅为示例,代码沿用上一章=====

具体实现如下:

①创建MyInterceptor.java文件

@Configuration //声明配置
public class MyInterceptor extends WebMvcConfigurerAdapter {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        HandlerInterceptor interceptor = new HandlerInterceptor() {
            @Override
            public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {

                System.out.println("拦截器启动:"+httpServletRequest.getRequestURL());

                return false;
            }

            @Override
            public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

            }

            @Override
            public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

            }
        };

        //addPathPatterns 需要拦截的路由,excludePathPatterns不需要拦截的路由
        registry.addInterceptor(interceptor).addPathPatterns("/**").excludePathPatterns("/login");
    }
}

其中@Configuration 注解是必须的。

②,启动类中配置@SpringBootApplication。(我的拦截器写在webdev.interceptor下)

③,Controller

@RestController
public class WcbDevController {

    @RequestMapping("/getPerInfo")
    public Object getPerInfo(){
        PersonModel personModel = new PersonModel();
        personModel.setBirthday(new Date());
        personModel.setNickName("不要喷香水");
        return personModel;
    }

    @RequestMapping("/login")
    public Object  login(){
        JSONObject mav = new JSONObject();
        mav.put("status",true);
        mav.put("msg","登录");
        return mav;
    }

④,启动项目,分别访问查看结果(请自行验证,这里就不截图了!)

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不要喷香水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值