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