Commit 5aab4c855b8096422982fcfaa2b9b7dad816dff2

Authored by zhangdaiscott
1 parent 386ae849

feign 动态创建client,拦截器执行多次 #2275

有个小Bug issues/I3854N
ant-design-vue-jeecg/src/views/user/third/JeecgThirdLoginMixin.js
... ... @@ -175,7 +175,7 @@ export const JeecgThirdLoginMixin = {
175 175 this.bindingPhoneModal = false
176 176 this.doThirdLogin(res.result)
177 177 } else {
178   - this.$message.$warning(res.message)
  178 + this.$message.warning(res.message)
179 179 }
180 180 })
181 181 },
... ...
jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/starter/cloud/feign/impl/JeecgFeignService.java
... ... @@ -35,25 +35,26 @@ public class JeecgFeignService implements IJeecgFeignService {
35 35 .encoder(encoder)
36 36 .decoder(decoder)
37 37 .contract(contract);
  38 +
  39 + builder.requestInterceptor(requestTemplate -> {
  40 + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
  41 + if (null != attributes) {
  42 + HttpServletRequest request = attributes.getRequest();
  43 + log.info("Feign request: {}", request.getRequestURI());
  44 + // 将token信息放入header中
  45 + String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
  46 + if(token==null){
  47 + token = request.getParameter("token");
  48 + }
  49 + log.info("Feign request token: {}", token);
  50 + requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
  51 + }
  52 + });
38 53 }
39 54  
40 55  
41 56 @Override
42 57 public <T> T newInstance(Class<T> clientClass, String serviceName) {
43   - builder.requestInterceptor(requestTemplate -> {
44   - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
45   - if (null != attributes) {
46   - HttpServletRequest request = attributes.getRequest();
47   - log.info("Feign request: {}", request.getRequestURI());
48   - // 将token信息放入header中
49   - String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
50   - if(token==null){
51   - token = request.getParameter("token");
52   - }
53   - log.info("Feign request token: {}", token);
54   - requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token);
55   - }
56   - });
57 58 return builder.target(clientClass, String.format("http://%s/", serviceName));
58 59 }
59 60 }
60 61 \ No newline at end of file
... ...