Java 获取并设置会话的值
在java中,尤其是spring boot中,如何通过使用RestTemplate调用Api从域B获取或设置域A会话的值 例如,在域B中,我使用RestTemplateJava 获取并设置会话的值,java,spring,spring-boot,servlets,resttemplate,Java,Spring,Spring Boot,Servlets,Resttemplate,在java中,尤其是spring boot中,如何通过使用RestTemplate调用Api从域B获取或设置域A会话的值 例如,在域B中,我使用RestTemplatepostForObject从域demo2.com调用Api: public ResponseEntity<String> doLogout(@RequestBody String userId){ System.out.println("123" + userId); RestTemplate rest
postForObject
从域demo2.com调用Api:
public ResponseEntity<String> doLogout(@RequestBody String userId){
System.out.println("123" + userId);
RestTemplate rest = new RestTemplate();
for(String s : listUrl) {
System.out.println("url: " + s);
rest.postForObject("http://demo2.com"+"/doLogout", userId, String.class);
}
return new ResponseEntity<String>(HttpStatus.OK);
}
尽管我从未在RestTemplate中使用postForObject方法,但我在他们的文档()中看到,您必须将Post参数包装在HttpEntity对象中 因此,在你的位置上,我会按照他们的建议
ClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
RestTemplate restTemplate = new RestTemplate(requestFactory);
HttpEntity<String> request = new HttpEntity<>(new String("<user_id_value>"));
String userId = restTemplate.postForObject("http://demo2.com"+"/doLogout", request, String.class);
System.out.println("User ID : " + userId);
ClientHttpRequestFactory requestFactory=new SimpleClientHttpRequestFactory();
RestTemplate RestTemplate=新的RestTemplate(requestFactory);
HttpEntity请求=新的HttpEntity(新字符串(“”);
字符串userId=restTemplate.postForObject(“http://demo2.com“+”/doLogout”、请求、字符串、类);
System.out.println(“用户ID:+userId”);
但是,postForObject用于创建一个资源,然后返回该资源。如果您想提交一个带有Post参数的表单,您将根据需要指定参数和名称,那么您必须遵循我上面粘贴的链接中的4.4
这样,如果您包含userId的键值对,您将能够在demo2.com中获取它
ClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
RestTemplate restTemplate = new RestTemplate(requestFactory);
HttpEntity<String> request = new HttpEntity<>(new String("<user_id_value>"));
String userId = restTemplate.postForObject("http://demo2.com"+"/doLogout", request, String.class);
System.out.println("User ID : " + userId);