大聪明教你学Java | SpringBoot 项目里如何在拦截器中获取 @RequestBody 参数

本文介绍了在SpringBoot项目中,如何在拦截器中处理使用@RequestBody注解的接口参数。当遇到流已关闭的异常时,通过重新构建ServletRequest,使输入流支持二次读取,从而成功获取请求参数。
摘要由CSDN通过智能技术生成

前言

🍊作者简介: 不肯过江东丶,一个来自二线城市的程序员,致力于用“猥琐”办法解决繁琐问题,让复杂的问题变得通俗易懂。
🍊支持作者: 点赞👍、关注💖、留言💌~

最近项目中来了一个新的需求:需要搞一个拦截器,对请求接口时传递过来的参数做一个加密处理。这个需求本身并不难,但是在实现功能的过程中却遇到了一个比较“棘手”的问题…

踩坑之路

问题描述

在拦截器中获取接口参数的时候需要分两种情况:

🍓情况一:接口使用 @RequestParam 接收参数

🍓情况二:接口使用 @RequestBody 接收参数

针对情况一,代码写起来就非常简单了,我们只需要在拦截器中通过request.getParameterMap() 来获得全部 Parameter 参数就可以了;但是当接口使用 @RequestBody 接收参数时,我们在拦截器中使用同样的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不肯过江东丶

您的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值