【发布时间】:2012-06-21 17:43:32
【问题描述】:
我有一个简单的Spring程序,后端是带有Restful web service的Spring MVC,前端是纯HTML+ajax。
我的问题是,当我尝试使用以下内容将 HTTP 请求参数映射到 pojo 时,它总是失败:
@RequestMapping(value = "/books", method = RequestMethod.PUT)
public @ResponseBody
String updateBook(BookInfo book)
这里我使用 PUT 方法,因为它是一个修改操作。也不例外,但我没有任何东西注入到 book 对象中。
同样的HTTP请求参数,如果我将方法改为POST,客户端通过POST发送,就成功了:
@RequestMapping(value = "/books", method = RequestMethod.POST)
public ResponseEntity<String> addBook(BookInfo book)
这本时间簿总是会被填满的。
为什么 PUT 和 POST 有区别?还是返回类型的问题? (一个是 ResponseBody,另一个是 ResponseEntity)?或者,如果您使用 PUT,那么 pojo 必须在持久上下文中?
我应该如何调查这个问题?
【问题讨论】: