Spring restTemplate .postForObject() 映射无法访问元素
Spring restTemplate .postForObject() mapping cannot access element
我正在尝试使用 restTemplate.postForObject(URL, Session.class) 方法并将响应映射到 POJO。这部分有效,但是当我尝试访问名称为“name-with-dashes”的元素时,我找不到该元素。
我从方法调用中提取的JSON:
{"age":60,"expire":12345,"name-with-dashes":"This name has dashes?!"...}
这是我用来提取此数据的 POJO:
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class Session {
private int age;
private long expire;
//will not grab name-with-dashes... returns null
private String nameWithDashes;
}
您可以注释 属性
@SerializedName("name-with-dashes")
private String nameWithDashes;
使用 Gson
您应该使用 @JsonProperty 注释来注释您的字段,尤其是那些不符合 bean 命名约定的字段:
@JsonProperty("name-with-dashes")
private String nameWithDashes;
我正在尝试使用 restTemplate.postForObject(URL, Session.class) 方法并将响应映射到 POJO。这部分有效,但是当我尝试访问名称为“name-with-dashes”的元素时,我找不到该元素。
我从方法调用中提取的JSON:
{"age":60,"expire":12345,"name-with-dashes":"This name has dashes?!"...}
这是我用来提取此数据的 POJO:
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class Session {
private int age;
private long expire;
//will not grab name-with-dashes... returns null
private String nameWithDashes;
}
您可以注释 属性
@SerializedName("name-with-dashes")
private String nameWithDashes;
使用 Gson
您应该使用 @JsonProperty 注释来注释您的字段,尤其是那些不符合 bean 命名约定的字段:
@JsonProperty("name-with-dashes")
private String nameWithDashes;