Jackson 将 POST 参数映射到 Java POJO
Jackson mapping POST parameters to Java POJO
我正在编写一个 Spring RESTful 服务,它使用 JSON 并执行一些操作。由于请求包含大量参数,我想到使用 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
中的名称参数
您可以使用 @JsonProperty
。注释你的 RequestInput
class:
public class RequestInput {
private int id;
@JsonProperty("first_name")
private String name;
}
我正在编写一个 Spring RESTful 服务,它使用 JSON 并执行一些操作。由于请求包含大量参数,我想到使用 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
中的名称参数您可以使用 @JsonProperty
。注释你的 RequestInput
class:
public class RequestInput {
private int id;
@JsonProperty("first_name")
private String name;
}