Feign传递Token
方法1: @RequestHeader
方法2:@RequestInterceptor
方法一,@RequestHeader
在请求调用方的微服务方法头中添加@RequestHeader用来接收用户端请求时传入的token,关键代码片段
@GetMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public ShareDTO findById(HttpServletRequest request,
@PathVariable Integer id,
@RequestParam(name = "foo") String foo,
@RequestHeader("X-Token") String token) {
System.out.println(foo);
return this.shareService.findById(id, token);
}
这里获取到header中的“X-Token”
在采用Feign调用其他微服务时将获取到的Token传入到下一个微服务的请求头中
@GetMapping("/users/{id}")
UserDTO findById(@PathVariable Integer id, @RequestHeader("X-Token") String token);
这里的@RequestHeader的意思是将参数token放入到下个请求的请求头header中。到此,使用这种方式进行to