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,7 +175,7 @@ export const JeecgThirdLoginMixin = {
175 this.bindingPhoneModal = false 175 this.bindingPhoneModal = false
176 this.doThirdLogin(res.result) 176 this.doThirdLogin(res.result)
177 } else { 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,25 +35,26 @@ public class JeecgFeignService implements IJeecgFeignService {
35 .encoder(encoder) 35 .encoder(encoder)
36 .decoder(decoder) 36 .decoder(decoder)
37 .contract(contract); 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 @Override 56 @Override
42 public <T> T newInstance(Class<T> clientClass, String serviceName) { 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 return builder.target(clientClass, String.format("http://%s/", serviceName)); 58 return builder.target(clientClass, String.format("http://%s/", serviceName));
58 } 59 }
59 } 60 }
60 \ No newline at end of file 61 \ No newline at end of file