org.springframework.web.client.RestClientException:无法提取响应:找不到合适的HttpMessageConverter

时间:2017-04-11 06:09:22

标签: spring jackson resttemplate

我正在点击服务来查找某人的详细信息,响应采用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:无法提取响应:没有为响应类型找到合适的HttpMessageConverter [class [Lcom.cdk.dataloader.model.Person;]和内容类型[application / json; charset = utf-8]

我不确定为什么我会得到这个,任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

您的内容类型为application/json;charset=utf-8,但您获得了XML。将内容添加到JSON或将内容类型更改为text/xml, application/xml

之一