我有一个非常简单的问题,但我似乎找不到简单的答案:
我让 Jackson 使用 @ResponseBody
在响应中将 Java beans 序列化为 JSON
但是我没有设法使用@RequestBody
在请求中将JSON序列化回Java beans
例如
// this works fine, Bean is being serialized to JSON
@RequestMapping(...)
public @ResponseBody Bean getSomething(...){
//...
}
// I don't know how to make this work, if if there is a way at all
@RequestMapping(...)
public void setSomething(@RequestBody Bean bean, ...){
//...
}
- 这个请求是否可行?
- 如果可以,如何配置?
- 是否有 JQuery 示例/提示(例如设置正确的内容类型)?
更新:
参见JQuery, Spring MVC @RequestBody and JSON - making it work together配置中的一些怪癖(它适用于 ResponseBody,但不适用于 RequestBody,这没有意义,配置要么正确,要么错误。可能是一个错误?)
最佳答案
是的,这是可能的。
如果您的 @ResponseBody 正常工作,您的服务器端配置可能没问题。
您需要将内容类型设置为 application/json。 JQuery.ajax()方法有一个 contentType 参数。 AJAX 和 Spring 3 的一个很好的示例/摘要可以在 here 找到。 。请注意,他使用的是 $.postJSON 方法,这很可能是 this simple plugin .
关于jquery - Jackson 可以与 Spring MVC 3.0 一起使用来将 RequestBody 绑定(bind)到 Java Bean 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5930894/