前言
这里了解一下restful api的拦截,文本主要介绍三种方式来对api进行拦截,参考本文可实现拦截api,进行一些附加操作,比如打印拦截到的方法所在类名,获取原始的request,拦截到api的调用的方法名,还可以根据需要实现打印出方法的参数。当然,下面介绍的拦截器、过滤器、切片功能不全一样,侧重点不同。希望可以给大家带来帮助。
应用
过滤器方式实现拦截
1、自定义过滤器:
/**
* @author: zhoulitong
* @date: 2018/4/23
* @description:
*/
@Component
public class TimeFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("time filter init");
}
/**
* 处理服务的请求时间
* @param request
* @param response
* @param chain
* @throws IOException
* @throws ServletException
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//System.out.println("time filter start");
long start = System.currentTimeMillis();
chain.doFilter(request,response);
//Syst