springBoot 使用继承WebMvcConfigurerAdapter 添加多个拦截器和继承HandlerInterceptorAdapter创建拦截器

一个类通过继承WebMvcConfigurerAdapter可以重写一些方法,其中本文例子就是添加多个拦截器, @Configuration 注解是表示注解的类中的多个 @Bean 就会有spring 容器处理。 代码如下:package com.shuluan.application.config;import org.springframework.context.annotation.Co
摘要由CSDN通过智能技术生成

public class AuthInterceptor extends HandlerInterceptorAdapter {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    BaseBody bb = new BaseBody();
    // 获取请求头部,微服务验证参数都在请求头部
    Map<String, String> header = HttpClientUtil.getHeaderInfo(request);
    String signature = header.get("signature");
    String time = header.get("time");
    try {
        ServiceAuthentication.checkSecretKey(signature, time);
        return true;
    } catch (MSException e) {
        bb.setResultCode(BaseBody.SYS_ERROR);
        bb.setMsg("无权限");
        authFailed(response,bb);
        return false;
    }
}

private void authFailed(HttpServletResponse response,BaseBody responseBody){
    PrintWriter writer = null;
    String json = JsonUtil.toJson(responseBody);
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html; charset=utf-8");
    try {
        writer = response.getWriter();
        writer.print(json);

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (writer != null)
            writer.close();
    }
}

}

“`

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HandlerInterceptorAdapter是Spring框架提供的一个适配器类,用于简化自定义拦截器的实现。它实现了HandlerInterceptor接口,并提供了一些默认的空实现方法,方便我们只关注需要实现的方法。 HandlerInterceptor是Spring框架提供的拦截器接口,用于在请求处理过程中进行拦截和处理。通过实现HandlerInterceptor接口,我们可以在请求到达Controller之前、Controller处理过程中以及Controller返回响应之后执行一些自定义的逻辑。 使用HandlerInterceptorAdapterHandlerInterceptor的步骤如下: 1. 创建一个类并实现HandlerInterceptor接口,或者继承HandlerInterceptorAdapter类。 2. 实现需要的方法,常用的方法包括preHandle、postHandle和afterCompletion。 - preHandle方法在请求到达Controller之前执行,可以进行一些前置处理,如权限验证、日志记录等。 - postHandle方法在Controller处理完请求后执行,可以对返回结果进行处理或修改。 - afterCompletion方法在整个请求完成后执行,可以进行一些清理工作,如资源释放等。 3. 在Spring配置文件中配置拦截器。 - 如果使用HandlerInterceptorAdapter,可以通过继承WebMvcConfigurerAdapter类并重写addInterceptors方法来添加拦截器。 - 如果使用HandlerInterceptor,可以通过实现WebMvcConfigurer接口并重写addInterceptors方法来添加拦截器。 注意:在配置拦截器时,需要注意拦截器的顺序,以及拦截的路径和排除的路径的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值