如何解决如何使用RestTemplate
1。总结问题
我正在尝试使用RestTemplate将逗号分隔的值(CSV格式的数据,而不是csv文件)读取到responseEntity(ResponseEntity >> responseEntity)中。
但是, 我在下面收到错误消息。
org.springframework.web.client.RestClientException:提取类型为[java.util.List java.util.ArrayList
的实例;嵌套异常为com.fasterxml.jackson.databind.exc.MismatchedInputException:无法从VALUE_STRING令牌中反序列化java.util.ArrayList
实例
在[来源:(PushbackInputStream);行:1,列:1]
2。描述您尝试过的方法
:我已经尝试了一些Messageconverters。
然后从这里 https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/csv-msg-converter.html 我在那里有一些有用的信息,并使用了一些信息。 但我一直遇到同样的错误。
3。在适当的时候显示一些代码
Map<String,Object> requestBody = new HashMap<>();
List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
messageConverters.add(new ByteArrayHttpMessageConverter());
messageConverters.add(new StringHttpMessageConverter());
messageConverters.add(new ResourceHttpMessageConverter());
messageConverters.add(new MappingJackson2HttpMessageConverter());
messageConverters.add(new CsvHttpMessageConverter());
converter.setSupportedMediaTypes(Collections.singletonList(MediaType.ALL));
messageConverters.add(converter);
restTemplate.setMessageConverters(messageConverters);
// Prepare headers
HttpHeaders headers = new HttpHeaders();
headers.add("X-ACCESS-TOKEN",getAccessToken(_casinoAuth,_casinoAuth.getCasinoAuthId().toString()));
headers.setContentType(MediaType.TEXT_PLAIN);
// Ready to request.
URI apiUrl = uriComponentsBuilder.queryParams(queryParams).build().expand(pathParams).toUri();
HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody,headers);
ResponseEntity<List<Map<String,Object>>> responseEntity;
-
我从这里得到该错误消息。
responseEntity = restTemplate.exchange(apiUrl,httpMethod,requestEntity,new ParameterizedTypeReference
- >>(){
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。