我们有多个Spring WS端点,它们都使用相似的签名运行curRequest.getReader
出于某种目的,我们需要计算请求主体字符串的特定散列。
- 再次封送行程刚刚取消封送行程的对象
- 在方法签名中使用主体/字符串并在方法中“手动”解组
有没有办法获得请求主体String?我们需要用我们提供的每个方法计算这个Hash,并把它提供给服务方法。如果唯一的选择是使用Filter:如何将值提供给端点方法。
什么是不工作:
HttpServletRequest curRequest =
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
.getRequest();
String body = IOUtils.toString(curRequest.getInputStream(), UTF_8);
body总是curRequest.getReader
我得到了一个异常,即gerReader已经被调用了。我还试图向方法(@RequestBody)添加一个额外的参数,但这也将端点更改为不再工作/不存在ws的东西。
1条答案
按热度按时间krcsximq1#
如果使用过滤器,则可以通过静态ThreadLocal将哈希值传递给每个方法体