如何将 JSON 字段名称映射到 Java 对象字段名称
How to map JSON field names to Java object field names
目前,我正在使用 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_NAME
等。JacksonAPI将JSON数据转换为Java对应字段名的对象。 ..如何解决?如何将自定义 JSON 字段名称绑定到我的 Java 对象字段名称?
您可以使用如下所示的 JsonProperty 注释,以便您的客户可以将请求字段名称发送为 FIRST_NAME 并且它可以映射到员工 class :
@Data // comes from lombok
class Employee {
@JsonProperty("FIRST_NAME")
private String firstName;
//other fields
}
目前,我正在使用 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_NAME
等。JacksonAPI将JSON数据转换为Java对应字段名的对象。 ..如何解决?如何将自定义 JSON 字段名称绑定到我的 Java 对象字段名称?
您可以使用如下所示的 JsonProperty 注释,以便您的客户可以将请求字段名称发送为 FIRST_NAME 并且它可以映射到员工 class :
@Data // comes from lombok
class Employee {
@JsonProperty("FIRST_NAME")
private String firstName;
//other fields
}