Как использовать AbstractMessageConverter с RestTemplate
1. резюмируйте проблему
Я пытаюсь прочитать значения, разделенные запятыми (данные в формате CSV, а не файл csv), в responseEntity (ResponseEntity>> responseEntity) с помощью RestTemplate.
но я получаю ошибку ниже.
org.springframework.web.client.RestClientException: ошибка при извлечении ответа для типа [java.util.Listjava.util.ArrayList
из VALUE_STRING токена; вложенное исключение - com.fasterxml.jackson.databind.exc.MismatchedInputException: невозможно десериализовать экземпляр
java.util.ArrayList
из VALUE_STRING токена в [Источник: (PushbackInputStream); строка: 1, столбец: 1]
2. опишите, что вы пробовали
: Я пробовал с некоторыми конвертерами сообщений.
и отсюда 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
- >> () {});