2013-07-26 2 views
0

У меня есть приложение Spring MVC (3.2.2), где мне нужно проверить криптографическую подпись (поставленную в заголовке запроса) тела запроса, которая содержит данные типа application/x-www-form-urlencodedКак получить стенографическое тело запроса весной MVC?

Моя проблема: Spring MVC, кажется, делает невозможным получение фактического, необработанного тела запроса HTTP и, таким образом, проверку подписи.

  • Когда я использую @RequestBody аннотацию в методе обработчика запросов, я получаю содержимое, но отдельные поля формы в произвольном порядке - по-видимому, регенерируют из проанализированных данных формы.
  • Когда я использую параметр типа HttpServletRequest, его тело пуста
  • так являются Reader или InputStream параметров.

Как предотвратить или обойти эту предварительную обработку тела запроса?

+0

Вы не можете: http://stackoverflow.com/a/2317344/1686330 –

+0

Btw: Я предполагаю, что это также причина, по которой сигнатура amz s3 построена из * упорядоченного * параметра параметров запроса. –

+0

@Dirk Lachowski: Я отлично готов выполнить собственный анализ параметров после подтверждения подписи, но для этого мне нужен необработанный, необработанный орган запроса. –

ответ

0

В настоящее время я использую фильтр сервлета в качестве обходного пути - он первый в цепочке фильтров, считывает содержимое тела и помещает их в атрибут запроса, который затем я получаю в контроллере.

Смежные вопросы