使用 RestTemplate 和对象作为数据和应用程序/x-www-form-urlencoded 内容类型?
我需要通过内容类型的a发布一个对象(例如不是a)。当我尝试这样做时...MultiValueMap
RestTemplate
application/x-www-form-urlencoded
HttpHeaders headers = new HttpHeaders();
HttpEntity request;
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED)
// data is some generic type
request = new HttpEntity<>(data, headers);
// clazz is the Class<T> being returned
restTemplate.exchange(url, method, request, clazz)
...我收到以下错误:
org.springframework.web.client.RestClientException: Can not write request: no 合适的 HttpMessageConverter for request type [com.whatever.MyRequestPayload] 和 content type [application/x-www-form-urlencoded]
以下是我在其中看到的:restTemplate.getMessageConverters()
为什么我不想提供多值地图
?原因有二:
- 这是用于向多个端点发送请求的通用代码,因此专门为添加重载只会使事情复杂化
x-www-form-urlencoded
- 这似乎不是我应该做的 - 我只是不知道需要使用哪个HttpMessageConverter来支持将对象转换为字符串
x-www-form-urlencoded