【发布时间】:2019-05-11 08:42:46
【问题描述】:
在 java 中,尤其是 spring boot 中,如何通过使用 RestTemplate 调用 Api 从域 B 获取或设置域 A 的会话值?
域 B 中的示例我使用 RestTemplate 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);
}
在 demo2.com,这是我的 Api。但是当我打印 demo2.com 的会话属性 userId 和 access-token 的值时,它总是显示为空。
@RequestMapping(value = "/doLogout", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> doLogout(HttpServletRequest request, @RequestBody String userId){
System.out.println("abc" + SessionUtil.getAttribute(request, "access-token") + SessionUtil.getAttribute(request, "userId"));
if(userId.equals(SessionUtil.getAttribute(request, "userId"))) {
System.out.println("vao day");
SessionUtil.setAtribute(request, "access-token", null);
}
return new ResponseEntity<String>(HttpStatus.OK);
}
【问题讨论】:
标签: java spring spring-boot servlets resttemplate