Как удалить кодировку из Spring RestTemplate? - PullRequest
0 голосов
/ 10 мая 2019

Когда я отправляю запрос формы, Spring добавляет кодировку, подобную application/x-www-form-urlencoded; charset=UTF-8, что вызывает проблемы с потреблением спокойного сервиса. Как я могу удалить кодировку из RestTemplate, чтобы тип содержимого был точно application/x-www-form-urlencoded?

1 Ответ

0 голосов
/ 13 мая 2019

FormHttpMessageConverter делает много проверок, чтобы убедиться, что вы используете MediaType с допустимым набором символов.Я бы попробовал либо разделить его на подклассы и зарегистрировать новый конвертер (хотя есть много частных методов), либо преобразовать вашу MultiValueMap в String полезную нагрузку вручную (StringHttpMessageConverter намного менее ограничивает типы медиа)

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<String> entity = new HttpEntity<>("param1=value1", headers);
String result = restTemplate.postForObject( url, entity, String.class);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...