Advertisement

使用Spring Boot 2.0配置Filter拦截器以获取HTTP请求参数和响应时间信息

阅读量:

1.需求说明与分析

企业提出需要收集项目中API接口的相关数据(如请求路径、参数内容及响应耗时等),以支持后续业务流程的优化工作。

2.实现方案设计与构建

【通过filter拦截器完成日志采集工作,但在后续应用过程中发现了两个亟待解决的问题:其一,当filter读取IO流信息后,Controller无法再次获取相关数据,从而引发接口异常;其二,在文件等资源上传过程中频繁出现错误。针对上述问题,提出以下应对策略:首先,通过继承HttpServletRequestWrapper的方式实现请求参数数据的回写操作;其次,对文件上传过程采取不进行拦截的处理方式。目前在市面上可查找到的相关解决方案中,其配置的拦截器代码如下:

复制代码
>       1. import org.slf4j.Logger;

>  
>       2. import org.slf4j.LoggerFactory;
>  
>       3. import org.slf4j.MDC;
>  
>       4. import org.springframework.core.Ordered;
>  
>       5. import org.springframework.core.annotation.Order;
>  
>       6. import org.

全部评论 (0)

还没有任何评论哟~