RestTemplate - 415 UNSUPPORTED_MEDIA_TYPE 错误
Posted
技术标签:
【中文标题】RestTemplate - 415 UNSUPPORTED_MEDIA_TYPE 错误【英文标题】:RestTemplate - 415 UNSUPPORTED_MEDIA_TYPE Error 【发布时间】:2021-01-24 10:29:57 【问题描述】:我想从我的应用程序中调用 REST 服务。我没有向这个电话传递任何请求。但我不知道它是从哪里来的?
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
map.add("username", bonitaUsername);
map.add("password", bonitaPassword);
map.add("redirect", "false");
HttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
HttpMessageConverter stringHttpMessageConverternew = new StringHttpMessageConverter();
List<HttpMessageConverter<?>> converters = new ArrayList<>();
converters.add(formHttpMessageConverter);
converters.add(stringHttpMessageConverternew);
restTemplate.setMessageConverters(converters);
HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<>(map, headers);
ResponseEntity<?> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
List<String> cookies = response.getHeaders().get("Set-Cookie");
String cookieString = "";
for (String cookie : cookies)
System.out.println();
cookieString += cookie.split(";")[0] + "; ";
return cookieString;
【问题讨论】:
您发送的表单数据,后端似乎无法处理内容类型 MediaType.APPLICATION_FORM_URLENCODED 【参考方案1】:这是由于传递给 REST 模板的内容类型不匹配造成的。请确保发送正确的内容类型。有时我们会收到 JSON 请求,但我们需要以另一种格式发送。
【讨论】:
以上是关于RestTemplate - 415 UNSUPPORTED_MEDIA_TYPE 错误的主要内容,如果未能解决你的问题,请参考以下文章
RestTemplate远程调用POST请求:HTTP 415 Unsupported Media Type
Spring Boot Actuator Shutdown Endpoint with Spring RestTemplate Client:错误 415 不支持的媒体类型