Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将JSON字段名映射到Java对象字段名_Java_Json_Rest_Field Names - Fatal编程技术网

如何将JSON字段名映射到Java对象字段名

如何将JSON字段名映射到Java对象字段名,java,json,rest,field-names,Java,Json,Rest,Field Names,目前,我正在用Spring创建REST服务 @RestController中的我的请求处理程序: @RequestMapping(value = "employees/", method = RequestMethod.POST) public Response setEmployees(@RequestBody Employee employee) { Response response = employeeManager.setEmployee(employee); retu

目前,我正在用Spring创建REST服务

@RestController
中的我的请求处理程序:

@RequestMapping(value = "employees/", method = RequestMethod.POST)
public Response setEmployees(@RequestBody Employee employee) {
    Response response = employeeManager.setEmployee(employee);
    return response;
}
Employee
有如下字段:
login
tabNumber
firstName

真正的问题是我的REST服务客户希望发送请求 另一个字段名,不符合Java命名约定。如
TABNUMBER
UNITS\u NAME
等。Jackson API将JSON数据转换为与it字段名对应的Java对象。。。如何解决?如何将自定义JSON字段名绑定到Java对象字段名



您可以使用JsonProperty注释,如下所示,这样您的客户端就可以将请求字段名作为FIRST_name发送,并将其映射到Employee类:

@Data // comes from lombok
class Employee {
    @JsonProperty("FIRST_NAME")
    private String firstName;

//other fields
}

您可以根据JSON请求创建一个请求实体和一个业务实体。然后您可以编写相应的代码来映射它。在stackoverflow上有类似的问题[这可能会有帮助][1][1]:@AbdilFattah谢谢,这正是答案)