首页 > 解决方案 > 如何使用 rest 模板将 application/atom+xml 响应转换为 json

问题描述

我正在使用 atom/xml,我需要将其转换为 java 对象。代码如下,我收到转换错误

代码:

 ResponseEntity<BusinessPartner> response = restTemplate.exchange(url + "/BP_HEADERSet('100000010')", HttpMethod.GET, entity, BusinessPartner.class);

错误:

"message": "Could not extract response: no suitable HttpMessageConverter found for response type [class com.leaseplan.insuranceaccounting.models.BusinessPartner] and content type [application/atom+xml;charset=utf-8;type=entry]",

BusinessPartner是我的自定义课程。从url,我得到原子格式的响应<content type="application/xml">

标签: jsonspring-bootresttemplate

解决方案


您可以尝试添加AtomFeedHttpMessageConverterRssChannelHttpMessageConverter休息模板。看一下代码:

@Bean
public RestTemplate restTemplate(RestTemplateBuilder templateBuilder) {
    return templateBuilder
            .additionalMessageConverters(
                    new AtomFeedHttpMessageConverter(), 
                    new RssChannelHttpMessageConverter())
            .build();
}

推荐阅读