From 5aab4c855b8096422982fcfaa2b9b7dad816dff2 Mon Sep 17 00:00:00 2001 From: zhangdaiscott <zhangdaiscott@163.com> Date: Sun, 21 Feb 2021 09:44:13 +0800 Subject: [PATCH] feign 动态创建client,拦截器执行多次 #2275 有个小Bug issues/I3854N --- ant-design-vue-jeecg/src/views/user/third/JeecgThirdLoginMixin.js | 2 +- jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/starter/cloud/feign/impl/JeecgFeignService.java | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/ant-design-vue-jeecg/src/views/user/third/JeecgThirdLoginMixin.js b/ant-design-vue-jeecg/src/views/user/third/JeecgThirdLoginMixin.js index a7a6d5b..77445ac 100644 --- a/ant-design-vue-jeecg/src/views/user/third/JeecgThirdLoginMixin.js +++ b/ant-design-vue-jeecg/src/views/user/third/JeecgThirdLoginMixin.js @@ -175,7 +175,7 @@ export const JeecgThirdLoginMixin = { this.bindingPhoneModal = false this.doThirdLogin(res.result) } else { - this.$message.$warning(res.message) + this.$message.warning(res.message) } }) }, diff --git a/jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/starter/cloud/feign/impl/JeecgFeignService.java b/jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/starter/cloud/feign/impl/JeecgFeignService.java index a9a0d6a..19678a0 100644 --- a/jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/starter/cloud/feign/impl/JeecgFeignService.java +++ b/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 { .encoder(encoder) .decoder(decoder) .contract(contract); + + builder.requestInterceptor(requestTemplate -> { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (null != attributes) { + HttpServletRequest request = attributes.getRequest(); + log.info("Feign request: {}", request.getRequestURI()); + // 将token信息放入header中 + String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN); + if(token==null){ + token = request.getParameter("token"); + } + log.info("Feign request token: {}", token); + requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token); + } + }); } @Override public <T> T newInstance(Class<T> clientClass, String serviceName) { - builder.requestInterceptor(requestTemplate -> { - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - if (null != attributes) { - HttpServletRequest request = attributes.getRequest(); - log.info("Feign request: {}", request.getRequestURI()); - // 将token信息放入header中 - String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN); - if(token==null){ - token = request.getParameter("token"); - } - log.info("Feign request token: {}", token); - requestTemplate.header(CommonConstant.X_ACCESS_TOKEN, token); - } - }); return builder.target(clientClass, String.format("http://%s/", serviceName)); } } \ No newline at end of file -- libgit2 0.22.2