2013-08-27 4 views
1

Я ищу способ перехватить весной webmvc входящий HTTP-запрос и ответ. Мне нужно переписать весь запрос и ответ.Весенний перехватчик webmvc для переписывания запроса и ответа

В бетоне мне необходимо получить запрос, извлечь тело запроса и обработать тело запроса, как если бы это был новый запрос (таким образом, переписывая весь запрос до того, как он будет обработан далее). После этого мне нужно переписать полученный ответ и каким-то образом его обернуть.

Может ли кто-нибудь помочь и предоставить некоторые указатели?

Благодаря

+0

вы можете использовать фильтр? –

+0

вы можете использовать весенние перехватчики –

ответ

4

Вы можете написать перехватчиков в Spring MVC, реализовав HandlerInterceptor интерфейс. Существует три метода, которые необходимо выполнить.

preHandle(..) вызывается перед выполнением фактического обработчика;

postHandle(..) вызывается после выполнения обработчика;

afterCompletion(..) вызывается после завершения полного запроса.

Эти три метода должны обеспечивать достаточную гибкость для выполнения всех видов предварительной обработки и постобработки.

Узнайте больше о том, как поставить фильтр в SpringMVC: http://viralpatel.net/blogs/spring-mvc-interceptor-example/

+0

Прошу прощения, это неправильный способ переписать запрос. Правильный способ - не использовать SpringWebMVC, а полагаться на простой сервлет api. После нескольких дней я нашел правильный ответ на http://stackoverflow.com/questions/1046721/accessing-the-raw-body-of-a-put-or-post-request/1048123#1048123 – user1052080