问题描述
我想从我的应用程序中调用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;
有人可以在这里帮助我吗?
谢谢, 大孙。
解决方法
发生这种情况是由于传递给REST模板的内容类型不匹配。请确保发送正确的内容类型。有时我们会收到JSON请求,但需要以其他格式发送。
谢谢。