SpringBoot拦截器(新手快速使用)

编写配置类WebConfig

/**
* 添加@Configuration注解将配置类交于springboot托管
*/
@Configuration
//实现WebMvcConfigurer接口
public class WebConfig implements WebMvcConfigurer {
//重写addInterceptors方法
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    /*
    registry.addInterceptor(你的拦截器).addPathPatterns("/**","这里是拦截路径可以设置多个参数,/**是对所有路径进行拦截").excludePathPatterns("这里是排除拦截的路径"); 
    */
 registry.addInterceptor(tokenInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
    }
}

编写拦截器TokenInterceptor

/**
* 继承拦截器适配器HandlerInterceptorAdapter
*/
public class TokenInterceptor extends HandlerInterceptorAdapter {

   /**
   * 重写HandlerInterceptorAdapter中的preHandle方法
   * preHandle:在方法被调用前执行。在该方法中可以做类似校验的功能。如果
   * 返回true,则继续调用下一个拦截器。如果返回false,则中断执行,也就是
   * 说我们想调用的方法 不会被执行,但是你可以修改response为你想要的响
   * 应。
   * postHandle:在方法执行后调用。
   * afterCompletion:在整个请求处理完毕后进行回调,也就是说视图渲染完毕
   * 或者调用方已经拿到响应。   
   */
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler) throws SignatureException {
         //返回true表示不拦截,返回false表示拦截
        return true;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 中的拦截器可以通过实现 `HandlerInterceptor` 接口来创建,并通过 `WebMvcConfigurer` 配置进行注册。 下面是一个简单的示例: 1. 创建一个实现 `HandlerInterceptor` 接口的拦截器类: ```java public class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 在请求处理之前进行拦截,可以进行权限校验等操作 return true; // 返回 true 表示继续执行后续的请求处理,返回 false 则表示拦截该请求 } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // 在请求处理之后、视图渲染之前进行拦截,可以添加一些通用的数据到模型中 } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { // 在整个请求完成之后进行拦截,可以进行一些资源清理等操作 } } ``` 2. 创建一个配置类并注册拦截器: ```java @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new MyInterceptor()) .addPathPatterns("/**") // 添加拦截路径规则 .excludePathPatterns("/login"); // 排除不需要拦截的路径 } } ``` 在上面的示例中,使用 `addInterceptor` 方法将自定义的拦截器注册到拦截器链中,并使用 `addPathPatterns` 方法添加需要拦截的路径规则,使用 `excludePathPatterns` 方法排除不需要拦截的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值