Избежать кодировки «

#java #spring #resttemplate #rest #spring-resttemplate

Вопрос:

Как предотвратить преобразование «amp;» в «u0026» в теле запроса при передаче через шаблон Rest?

Моя конфигурация RestTemplate — Для некоторых проблем с сериализацией я переопределяю HttpConvertor по умолчанию с помощью GsonHttpConvertor.

 @Bean(name = "dbRestTemplate")
   @Scope("singleton")
   public RestTemplate getDbRestTemplate() throws KeyManagementException, KeyStoreException, NoSuchAlgorithmException {
      log.info("[RestTemplateLoggingConfiguration] Bean 'dbApiRestTemplate' configured.");
      RestTemplate restTemplate = createRestTemplateWithLogging();
      final GsonBuilder builder = JsonUtil.getGsonBuilder();
      Gson gson = builder.create();
      GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter();
      gsonHttpMessageConverter.setGson(gson);
      restTemplate.setMessageConverters(Collections.<HttpMessageConverter<?>> singletonList(gsonHttpMessageConverter));      
      return restTemplate;
   }

   protected RestTemplate createRestTemplateWithLogging() throws KeyManagementException, KeyStoreException, NoSuchAlgorithmException {
      RestTemplate restTemplate = null;
         ClientHttpRequestFactory clientHttpRequestFactory = isSslBypass ? createSslBypassHttpRequestFactory() : new SimpleClientHttpRequestFactory();
         restTemplate = new RestTemplate(new BufferingClientHttpRequestFactory(clientHttpRequestFactory));
         List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
         interceptors.add(new AuLoggingRequestInterceptor());
         restTemplate.setInterceptors(interceptors);
         log.info("[RestTemplateLoggingConfiguration] RestTemplate with LoggingRequestInterceptor created.");
         
  return restTemplate;
   }
 

JSON я хочу
{ "SettlementRequest": { "SendingCustomerName": "PRIYA amp; TOMAR", } }

JSON я получаю { "SettlementRequest": { "SendingCustomerName": "PRIYA u0026 TOMAR", } }