Commit 5aab4c855b8096422982fcfaa2b9b7dad816dff2
1 parent
386ae849
feign 动态创建client,拦截器执行多次 #2275
有个小Bug issues/I3854N
Showing
2 changed files
with
16 additions
and
15 deletions
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 |