我正在尝试使用Spring的RestTemplate自动反序列化XML格式的响应.我正在使用Jackson的jackson-dataformat-xml模块,Spring Boot设置为自动配置.我想在我要反序列化的类中使用JAXB注释,但它似乎不起作用.以下是我希望该类看起来像的示例:
@XmlRootElement(name="Book")
public class Book {
@XmlElement(name="Title")
private String title;
@XmlElement(name="Author")
private String author;
}
这基于以下XML示例:
但是,如上所述注释类,字段始终设置为null.我做了一些实验,发现如果我使用Jackson的@JsonProperty注释子元素,反序列化就有效:
@XmlRootElement(name="Book")
public class Book {
@JsonProperty("Title")
private String title;
@JsonProperty("Author")
private String author;
}
它有效,但不知怎的,我觉得它有点尴尬.有没有办法让JAXB注释像我的第一个例子一样工作?
Jackson提供了jackson-module-jaxb-annotations模块用于XML数据绑定以使用JAXB注释.但是,我不确定如何设置RestTemplate使用的ObjectMapper来使用此模块.