我正在使用android spring REST模板从外部API中提取一些数据。 那些API返回JSON字符串但响应内容类型是“text / html”,如果内容类型是“application / json”,我可以轻松地解析数据而没有任何问题,因为这些API是第三方API我无法更改内容类型的回应。
我正在使用 “MappingJacksonHttpMessageConverter” class作为消息转换器。
当我尝试解析数据时,我遇到了异常。
org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type .... and content type [text/html;charset=utf-8]
是否有任何配置,参数或其他可以解析这些JSON数据的内容?
答案 0 :(得分:11)
默认情况下,MappingJacksonHttpMessageConverter
仅支持application/json
媒体类型。但是,您可以轻松配置它以支持其他媒体类型:
MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
converter.setSupportedMediaTypes(Collections.singletonList(MediaType.TEXT_HTML));
现在,当您收到回复时,RestTemplate
应该将MappingJacksonHttpMessageConverter
标识为能够解析回复。