我正在使用 android spring REST 模板从外部 API 中提取一些数据。 这些 API 返回 JSON 字符串,但响应内容类型为“text/html”,如果内容类型为“application/json”,我可以毫无问题地轻松解析数据,因为这些 API 是第 3 方 API,我无法更改内容类型的回应。
我正在使用 “MappingJacksonHttpMessageConverter” 类作为消息转换器。
当我尝试解析数据时遇到异常。
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 数据?
最佳答案
默认情况下,MappingJacksonHttpMessageConverter
仅支持 application/json
媒体类型。但是,您可以轻松地将其配置为支持其他媒体类型:
MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
converter.setSupportedMediaTypes(Collections.singletonList(MediaType.TEXT_HTML));
现在当您收到响应时,RestTemplate
应该将 MappingJacksonHttpMessageConverter
识别为能够解析它。
关于android - Spring Android REST 模板解析内容类型为 text/html 的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22329368/