Я вызываю многочастный запрос с помощью Resttemplate, в одной из наших сред мы получаем исключение:
Invalid mime type "{application/json, q=1000}": Invalid token character '{' in token "{
При некоторой отладке мы обнаружили, что это происходит из-за разбора Джексона, мы следовали некоторым из этих рекомендаций,
Добавлены заголовки согласования контента:
baseHeader.add(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE);
baseHeader.add(HttpHeaders.ACCEPT_CHARSET, StandardCharsets.UTF_8.name()
);
И измененные конфигурации Resttemplate:
@Bean
public RestTemplate restTemplate() {
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
RestTemplate restTemplate = new RestTemplate(requestFactory);
List<HttpMessageConverter<?>> converters = new ArrayList<>();
StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
stringConverter.setWriteAcceptCharset(false);
converters.add(stringConverter);
restTemplate.setMessageConverters(converters);
restTemplate.getMessageConverters().add(new ByteArrayHttpMessageConverter());
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
return new RestTemplate(requestFactory);
}
Но оба не работали, мы обновили версию Spring до 2.1.6, но проблема существует.