为了账号安全,请及时绑定邮箱和手机立即绑定

有什么办法能够对json格式的 POST请求中的参数进行修改?

有什么办法能够对json格式的 POST请求中的参数进行修改?

开满天机 2019-05-20 09:41:06
背景是这样的:目前有个业务上的需求,想要对传入的基参中的某个参数赋值增强(而且确定是要后端来做)我想到的大致思路是通过aop来做。现在公司也有一个CloneRequestWrapper工具类能够实现流的复制,能够从中取出json字符串,自己进行如校验token这样的业务处理。但是想要写入改怎么操作呢?在网上搜了很多博客文章,基本上都是说的get方法,post的能做么?
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

重写HttpServletRequestWritableWrapper和Filter在重写的Filter中写好自己的逻辑最终将重写的Filter放在过滤链中
                            
查看完整回答
反对 回复 2019-05-20
?
慕斯709654

TA贡献1840条经验 获得超5个赞

1、基于Filter,既然要修改,肯定涉及到数据读取,但是HttpServletRequest的流只能读一次,所以主要是自己实现一个HttpServletRequest,把读到的流缓缓存起来,后续的服务再读流的时候,其实读取的是自己缓存的流数据就可以。但是这种方式设计到文件上传就不是很好处理了2、既然你做的是一些通用的业务处理,那么你类似Controller上的入参,可以继承使用一个公共的基类,把公共属性放到基类里面,再对Controller做一个AOP就可以。3、也可以使用Spring的自定义参数解析HandlerMethodArgumentResolver,你把Http的数据读出来,在这里自己的各种校验处理,合法后,把要映射的参数类型取出来,做一次映射就可以。
                            
查看完整回答
反对 回复 2019-05-20
  • 2 回答
  • 0 关注
  • 1298 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信