如何将JSON字段名映射到Java对象字段名
目前,我正在用Spring创建REST服务如何将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
@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谢谢,这正是答案)