У меня есть приложение с Spring 3.0.5.RELEASE, которое пытается получить полное содержание сообщения с помощью @RequestBody. Метод вызывается, но переданная строка всегда пуста. Я проверил, установив точки останова, что вызывается StringHttpMessageConverter, но внутренний HttpInputMessage пуст.
Я видел эту проблему как с Jetty, так и с Tomcat, поэтому я отбрасываю проблему с контейнером.
Вот мой пример контроллера:
@Controller
@RequestMapping("/")
public class SubscriptionController {
@RequestMapping(value = "/requestbody", method = RequestMethod.POST)
public ModelAndView mycustomAction(@RequestBody String body) {
// body is always empty
Logger.getLogger(this.getClass()).debug("REQUEST BODY '" + body + "'");
return new ModelAndView("empty");
}
}
Контекст моего приложения определяется следующим образом:
/WEB-INF/general.xml
Я тестирую это с помощью curl следующим образом:
curl -d asd = 123 -d qwe = 456 http: // localhost: 8080 / requestbody
Любые идеи или помощь приветствуются!