如何在Spring MVC中获取逐字请求体?

时间:2013-07-26 08:20:59

标签: spring-mvc

我有一个Spring MVC(3.2.2)应用程序,我需要检查请求体的加密签名(在请求头中提供),其中包含application / x-www-form-urlencoded类型的数据

我的问题:Spring MVC似乎无法获取实际的,未经处理的HTTP请求主体,从而检查签名。

  • 当我在请求处理程序方法中使用@RequestBody注释时,我得到了内容,但是各个表单字段是随机顺序的 - 显然是从解析后的表单数据重新生成的。
  • 当我使用HttpServletRequest类型的参数时,其正文为空
  • ReaderInputStream参数也是如此。

如何阻止或绕过请求正文的预处理?

1 个答案:

答案 0 :(得分:0)

目前,我正在使用servlet过滤器作为解决方法 - 它首先在过滤器链中,读取主体内容并将它们放入请求属性中,然后我在控制器中检索它。