【发布时间】:2017-09-06 08:54:56
【问题描述】:
我正在访问一个服务来查找一个人的详细信息,响应是 xml 格式,如下所示:
<ArrayOfPersonResults xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<PersonResults>
<Name>John Doe</Name>
<State>NY</State>
<Zip>12345</Zip>
</PersonResults>
</ArrayOfPersonResults>
我正在使用 Spring RestTempate 并将响应映射到以下 POJO,
public class Person {
private String zip;
private String name;
private String state;
public String getZip() {
return zip;
}
@JsonProperty("Zip")
public void setZip(String zip) {
this.zip = zip;
}
public String getName() {
return name;
}
@JsonProperty("Name")
public void setName(String name) {
this.name = name;
}
public String getState() {
return state;
}
@JsonProperty("State")
public void setState(String state) {
this.state = state;
}
}
我使用 rest 模板调用服务,
public Person[] getPersosn(String personId) {
try {
return getRestTemplate().getForObject(personServiceURL, Person[].class, personId);
} catch (Exception e) {
return null;
}
}
但我不断收到异常, org.springframework.web.client.RestClientException:无法提取响应:没有找到适合响应类型 [class [Lcom.cdk.dataloader.model.Person;] 和内容类型 [application/json;charset=utf-8] 的 HttpMessageConverter
我不知道为什么我会收到这个,任何帮助表示感谢。
【问题讨论】:
-
您的内容是 XML 还是 JSON?
-
内容为 xml 格式。我通过在 pom.xml 中添加 jackson-databind 依赖项解决了这个问题
标签: spring jackson resttemplate