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;
}