FeignConfiguration.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.kcim.common.config;
  2. import feign.RequestInterceptor;
  3. import feign.RequestTemplate;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.context.request.RequestContextHolder;
  6. import org.springframework.web.context.request.ServletRequestAttributes;
  7. /**
  8. * @program: CostAccount
  9. * @description:
  10. * @author: Wang.YS
  11. * @create: 2023-09-19 17:16
  12. **/
  13. @Configuration
  14. public class FeignConfiguration implements RequestInterceptor {
  15. /**
  16. * Called for every request. Add data using methods on the supplied {@link RequestTemplate}.
  17. *
  18. * @param template
  19. */
  20. @Override
  21. public void apply(RequestTemplate template) {
  22. RequestContextHolder.setRequestAttributes(RequestContextHolder.getRequestAttributes(), true);
  23. ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
  24. // 获取请求体
  25. javax.servlet.http.HttpServletRequest request = attributes.getRequest();
  26. // 获取token
  27. String token = request.getHeader("token");
  28. // 注入feign的请求头
  29. template.header("token",token);
  30. }
  31. }