java - 无法提取响应:没有找到适合响应类型类和内容类型 [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 给出错误。我该如何转换?
解决方案
您可以将内容类型标头添加到 RestTemplate:
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> requestEntity = new HttpEntity<String>(headers);
推荐阅读
- visual-studio - Visual Studio 2019 白色窗口
- elasticsearch - 有没有办法使用 grok 使用字符编号来分解消息?
- azure - Botframework Azure 模板依赖于 MsTeamsChannel CLI 部署模板验证失败
- css - 如何将 style.css 连接到 base.html django?
- c# - 获取列的每个不同值的最后记录
- python - Python排序json数组键
- c# - LINQ to XML 在 c# 中获取元素
- vim - 如何分配在vim(lightline插件)中执行时更改的值?
- redirect - URL 重写无效证书
- apache-camel - Camel SFTP 文件传输,提高性能