【发布时间】:2017-03-07 22:49:03
【问题描述】:
我有具有该依赖项的 SpringBoot 应用程序:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
我的控制器有一个方法如下:
@RequestMapping(value = "/liamo", method = RequestMethod.POST)
@ResponseBody
public XResponse liamo(XRequest xRequest) {
...
return something;
}
我通过 AJAX 从我的 HTML 发送一个带有 XRequest 类型对象字段的 JSON 对象(它是一个没有任何注释的普通 POJO)。但是我的 JSON 没有在我的控制器方法中构造成对象,并且它的字段为空。
我错过了控制器上的自动反序列化功能?
【问题讨论】:
-
可能是
@RequestBody参数上的@RequestBody注释:stackoverflow.com/questions/11291933/… - 顺便说一句,如果您将 spring-mvc 用于控制器,则不需要spring-boot-starter-jersey。 -
您缺少
@RequestBody就像 @zapl 注意到的那样,如果您要发送 JSON,我还会将consumes = "application/json"添加到@RequestMapping。 -
答案是这样。缺少 RequestBody,谢谢!你能把它写成接受它的答案吗?
标签: java json spring-mvc spring-boot jackson