RestTemplate Разбор Джексона - недопустимый тип пантомимы "{application / json, q = 1000}": недопустимый символ токена '{' в токене "{ - PullRequest
0 голосов
/ 01 июля 2019

Я вызываю многочастный запрос с помощью 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, но проблема существует.

...