springboot Post 请求拦截Body参数

本文介绍了在SpringBoot中如何拦截POST请求的Body参数,适用于需要捕获所有请求参数和检查序列化情况的场景。文章提醒注意,一旦拦截器读取输入流,后续将无法获取Body参数。提供了拦截器和配置类的实现代码作为参考。
摘要由CSDN通过智能技术生成

springboot Post 请求拦截Body参数

应用场景

  1. 想捕获请求发过来的所有参数(包含也许 接收类 不包含的字段)
  2. 想查看 Feign 远程接口 进行的序列化是否如愿

    简单问一句,你知道 Feign 接口参数类如果包含一个域 是 Class 类型的话,序列化的结果是啥吗?还有如果 Feign 如果传递时间 Date 是否会有问题呢?

注意事项

  1. 记得body里面的参数是储存在 输入流 里的,如果你的拦截器读取了输入流,那么这个输入流就不会再有参数了,即到达 Controller的参数为空的

代码

拦截器

@Component
public class AuthSecurityInterceptor extends HandlerInterceptorAdapter {
   
    private Logger logger = LoggerFactory.getLogger(AuthSecurityInterceptor.class);

    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
   
        String body = getBody(httpServletRequest);
        System.out.println(body);
        return true;// true 则继续执行
    }

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值