在使用SpringBoot之后如何写过滤器呢?不多少 直接上代码
/**
* @author lijiawei
* @date 2019/4/26 9:34
* @description:自定义X-Auth-Token过滤器 默认拦截所有请求
*/
@Slf4j
@Configuration
@WebFilter(filterName = "X-Auth-Token", urlPatterns = "/*")
public class TokenWebFilter implements Filter{
/**
* 功能描述:初始化
*
* @return
* @param:
* @author lijiawei
* @date 2019/4/26 9:53
*/
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
/**
* 功能描述:拦截处理
*
* @return
* @param:
* @author lijiawei
* @date 2019/4/26 9:53
*/
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
filterChain.doFilter(servletRequest, servletResponse);
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
//获取头部信息
String token = request.getHeader("X-Auth-Token");
System.out.println(token);
if(ObjectUtils.isEmpty(token)){
log.info("token为空");
response.getWriter().write("token不能为空");
}else {
filterChain.doFilter(servletRequest, servletResponse);
}
}
/**
* 功能描述:销毁处理
*
* @param:
* @return
* @author lijiawei
* @date 2019/4/26 9:54
*/
@Override
public void destroy () {
}
}