SpringBoot-拦截器

来源:互联网 发布:华为如何开数据流量 编辑:程序博客网 时间:2024/05/16 13:39
1.写一个拦截器import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.util.StringUtils;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;import com.alibaba.fastjson.JSONObject;public class Interceptor extends HandlerInterceptorAdapter {    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)            throws Exception {            if(从request中获取的参数不合法){                sendFailResult(response,"参数不合法" );                return false;            }            else                return true;            }        }    }    private void sendFailResult(HttpServletResponse response, String resultMessage) {        JSONObject reObj = new JSONObject();        reObj.put("resultMessage", resultMessage);             response.setContentType("application/json;charset=UTF-8");        response.setHeader("Cache-Control", "no-cache");        try {            response.getWriter().write(reObj.toString());        } catch (Exception e) {            Syso("PHP是最好的语言");        }    }}2.定义哪些URL路径需要拦截,需要再写一个配置类,用来加载上边的类@Configurationpublic class InterceptorConfig extends WebMvcConfigurerAdapter {    @Override    public void addInterceptors(InterceptorRegistry registry) {        registry.addInterceptor(new Interceptor()).addPathPatterns("/**");//**表示拦截所有路径    }}