У меня есть простой контроллер Spring 3.0 с отображением запроса PUT
@Controller
public class FooController {
@RequestMapping(value = "/foo/{id}", method = RequestMethod.PUT)
public @ResponseBody FooView put(@PathVariable String id, @Valid PutFoo putFoo, BindingResult bindingResult) {
inspector.inspect(bindingResult);
return fooService.update(id, putFoo);
}
}
Когда я выполняю PUT с параметрами Foo
в теле запроса, объект PutFoo не заполняется / не связывается с этими данными. Если я добавлю HttpServletRequest к сигнатуре метода и напечатаю тело запроса, достаточно данных, но PutFoo
пусто.
Если я изменю тип метода запроса на POST, а затем выполню POST, все это будет работать гармонично.
Для полноты, я нажимаю конечную точку через cURL с
curl -H 'Content-Type: application/x-www-form-urlencoded' -X PUT -F "fooString=foo" <a href="http://localhost:8080/foo/9999" rel="nofollow">http://localhost:8080/foo/9999</a>