【发布时间】:2019-05-12 21:50:04
【问题描述】:
当我尝试将 POJO 与 MediaType.APPLICATION_FORM_URLENCODED 一起使用时
ExampleRequest exampleRequest = exampleRequest();
exampleRequest.setId("id");
exampleRequest.setName("name");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<ExampleRequest> exampleRequestEntity = new HttpEntity<>(exampleRequest, headers);
restTemplate.postForObject(url, exampleRequestEntity, String.class)
我明白了:
org.springframework.web.client.RestClientException: No HttpMessageConverter for [ExampleRequest] and content type [application/x-www-form-urlencoded]
有什么方法可以将 POJO 与 application/x-www-form-urlencoded 一起使用而不是 MultiValueMap<String, String> map?
【问题讨论】:
-
只需将
FormHttpMessageConverter传递给RestTemplate构造函数就可以解决问题(例如new RestTemplate(List.of(new FormHttpMessageConverter())))。
标签: java spring spring-boot resttemplate