@RequestBody Spring, предоставляющий пустую строку в POST

У меня есть приложение с 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

Любые идеи или помощь приветствуются!

9
задан Johnco 27 April 2011 в 15:51
поделиться