#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", } }