zoukankan      html  css  js  c++  java
  • springboot拦截器

    先创建一个Interceptor类实现HandlerInterceptor接口

    package ax.tst.interceptor;
    
    import ax.f4j.controller.BaseController;
    import ax.tst.common.AuthTools;
    import ax.tst.model.RequestLog;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.mongodb.core.MongoOperations;
    import org.springframework.stereotype.Component;
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.util.Date;
    
    /**
     * 请求拦截器
     *
     * @author QQQ
     * @since 2018年5月15日14:51:06
     */
    @Component
    public class RequestInterecptor extends BaseController implements HandlerInterceptor {
    
        @Autowired
        private MongoOperations mongoOperations;
    
        @Autowired
        private AuthTools authTools;
    
        @Override
        public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
            // 记录接口请求日志
            RequestLog requestLog = new RequestLog(authTools.getUserInfo().getId(), getRemoteAddress(), httpServletRequest.getServletPath(), new Date());
            mongoOperations.save(requestLog);
            return true;
        }
    
        @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 {
        }
    }

    注册

    package ax.tst;
    
    import ax.tst.interceptor.RequestInterecptor;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    
    @Configuration
    public class TstApiConfig extends WebMvcConfigurerAdapter {
    
        @Autowired
        private RequestInterecptor requestInterecptor;
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(requestInterecptor).addPathPatterns("/**");
            super.addInterceptors(registry);
        }
    }
  • 相关阅读:
    C#计算两个日期之间相差的天数
    js字符串转时间
    mysql find_in_set 函数
    css控制网页所有图片当图片大于指定宽度图片等于指定宽度
    网页自动适应手机屏幕宽度的方法
    c# 生成指定范围的数字和字母组合随机数
    SqlServer 查看被锁的表和解除被锁的表
    C#隐情信息(银行账户,身份证号码,名字)中间部分特殊字符替换(*)
    c#检查SQL语法是否正确,不执行SQL语句
    sqlserver中的表值函数和标量值函数
  • 原文地址:https://www.cnblogs.com/dsh2018/p/11263509.html
Copyright © 2011-2022 走看看