Jackson 将 POST 参数映射到 Java POJO

-1 rest spring json spring-mvc jackson

我正在编写一个 Spring RESTful 服务,它使用 JSON 并执行一些操作。由于请求包含大量参数,我想到了使用 Spring 的 Jackson 映射将我的请求参数映射到 Java 对象。

我的POJO

public class RequestInput {

 private int id;
 private String name;
 // parameters follow


 // getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我的控制器

@Controller
public class RequestController{

   @RequestMapping(method=RequestMethod.POST, value="/rest/postRequest")
   public void handleRequest(@RequestBody RequestInput input){
          // code follows
   }

}
Run Code Online (Sandbox Code Playgroud)

数据发布时一切正常

{“id”:1,“名称”:“ABCD”}

但是当数据发布为

{“id”:1,“first_name”:“ABCD”}

对象中名称的值作为 返回NULL

你能帮我理解如何将请求中的 first_name 映射到 Java POJO 中的 name param

wsl*_*wsl 5

您可以使用@JsonProperty. 注释你的RequestInput 类:

public class RequestInput {
    private int id;
    @JsonProperty("first_name")
    private String name;
}
Run Code Online (Sandbox Code Playgroud)