首页 > 解决方案 > 无法提取响应:没有找到适合响应类型类和内容类型 [text/html] 的 HttpMessageConverter

问题描述

我通过 Rest Api 发布请求时抛出,结果是

内容类型:应用程序/json

{
"error": "file content is not in the appropriate format",
"file_name": "15-10-2019-11-19-32_KKK.csv"
}

当我在我这边尝试代码时,我使用下面的代码

public RestTemplate restTemplateBuilder() {
    RestTemplate restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory());
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
    converter.setObjectMapper(mapper);
    restTemplate.getMessageConverters().add(0, converter);
    restTemplate.setErrorHandler(new RestTemplateHandler());
    return restTemplate;
  }
RestTemplate restTemplate = restTemplateBuilder();

ResponseEntity<FileUploadResponseDTO> serviceResponse = restTemplate.exchange(url, HttpMethod.POST, requestEntity, FileUploadResponseDTO.class);

org.springframework.web.client.RestClientException:无法提取响应:没有找到适合响应类型 [....FileUploadResponseDTO] 和内容类型 [text/html] 的 HttpMessageConverter 给出错误。我该如何转换?

标签: javaspring-bootresttemplate

解决方案


您可以将内容类型标头添加到 RestTemplate:

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> requestEntity = new HttpEntity<String>(headers);

推荐阅读