如何将 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 具有如下字段:logintabNumberfirstName

真正的问题是我的 REST 服务客户想要发送请求 另一个字段名称,不符合Java命名约定。像TABNUMBERUNITS_NAME等。JacksonAPI将JSON数据转换为Java对应字段名的对象。 ..如何解决?如何将自定义 JSON 字段名称绑定到我的 Java 对象字段名称?


您可以使用如下所示的 JsonProperty 注释,以便您的客户可以将请求字段名称发送为 FIRST_NAME 并且它可以映射到员工 class :

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

//other fields
}