如果我使用@RequestParam来接收多个参数,好像无法解密?
Closed this issue · 4 comments
WayneLee5991 commented
使用@RequestParam参数来接收参数,是无法解密的,只有用@RequestBody的时候才可以。还有就是如果我统一了返回数据格式,就像:{code:““,msg:"",data:""},把他们全部加密好像有点多余,只加密data部分是不是更好点。
yinjihuan commented
解密只针对requestBody才有效,只加密data部分不太好操作,框架还需要关心的数据结构
yinjihuan commented
你可以通过自定义算法来实现这部分的逻辑,在你自己的逻辑中你可以只对指定key进行加密
WayneLee5991 commented
后来我自己想了个办法,不知道可行否。可以自定义注解,通过AOP的@around环绕增强来处理请求的参数,pjp获取的请求参数是一个Object数组,循环解密,然后调用proceed方法。@AfterReturing来处理响应参数,returnValue是自定义的返回数据就只加密想加密的数据。
yinjihuan commented
也可以的,其实自定义算法实现也很简单,一般每个系统的格式是固定的话就好处理,比如这种格式:
{
"header":{
"sign":"xxxx",
"xxx": "xxxx"
},
"body":"加密内容"
}
这个时候只需要在自定义算法中进行加解密的逻辑,只对body部分进行处理,如果格式不统一的话比较麻烦