【发布时间】:2015-07-01 12:55:18
【问题描述】:
我正在编写一个使用 JSON 并执行一些操作的 Spring RESTful 服务。由于请求包含大量参数,我想到了使用 Spring 的 Jackson 映射将我的请求参数映射到 Java 对象。
我的 POJO
public class RequestInput {
private int id;
private String name;
// parameters follow
// getter and setter
}
我的控制器
@Controller
public class RequestController{
@RequestMapping(method=RequestMethod.POST, value="/rest/postRequest")
public void handleRequest(@RequestBody RequestInput input){
// code follows
}
}
当数据发布时一切正常
{"id" : 1, "name" : "ABCD"}
但是当数据发布为
{"id" : 1, "first_name" : "ABCD"}
对象中名称的值返回为NULL。
请您帮助我理解如何将请求中的 first_name 映射到 Java POJO 中的名称参数
【问题讨论】:
-
杰克逊怎么会知道,如果你不告诉它,该怎么做。猜测,“name”和“first_name”应该映射到“name”有点太难了。
-
@ThomasJunk 解决方案由以下 wsl 建议。 JsonProperty 注解通知框架哪个输入键映射到 pojo 中的哪个参数
标签: json spring rest spring-mvc jackson