Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jeecg
jeecg-boot
提交
0252213b
J
jeecg-boot
项目概览
jeecg
/
jeecg-boot
上一次同步 3 年多
通知
865
Star
24375
Fork
84
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jeecg-boot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0252213b
编写于
2月 17, 2021
作者:
JEECG低代码平台
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
微服务Feign调用Provider报错Token为空的问题 #2263
上级
ce44147e
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
76 addition
and
76 deletion
+76
-76
jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/config/FeignConfig.java
...ter-cloud/src/main/java/org/jeecg/config/FeignConfig.java
+76
-0
jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/starter/cloud/config/FeignClientConfig.java
...ava/org/jeecg/starter/cloud/config/FeignClientConfig.java
+0
-76
未找到文件。
jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/config/FeignConfig.java
0 → 100644
浏览文件 @
0252213b
package
org.jeecg.config
;
import
feign.Feign
;
import
feign.Logger
;
import
feign.RequestInterceptor
;
import
feign.codec.Encoder
;
import
feign.form.spring.SpringFormEncoder
;
import
lombok.extern.slf4j.Slf4j
;
import
org.jeecg.common.constant.CommonConstant
;
import
org.springframework.beans.factory.ObjectFactory
;
import
org.springframework.boot.autoconfigure.AutoConfigureBefore
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.http.HttpMessageConverters
;
import
org.springframework.cloud.openfeign.FeignAutoConfiguration
;
import
org.springframework.cloud.openfeign.support.SpringEncoder
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
@ConditionalOnClass
(
Feign
.
class
)
@AutoConfigureBefore
(
FeignAutoConfiguration
.
class
)
@Slf4j
@Configuration
public
class
FeignConfig
{
@Bean
public
RequestInterceptor
requestInterceptor
()
{
return
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
);
}
};
}
/**
* Feign 客户端的日志记录,默认级别为NONE
* Logger.Level 的具体级别如下:
* NONE:不记录任何信息
* BASIC:仅记录请求方法、URL以及响应状态码和执行时间
* HEADERS:除了记录 BASIC级别的信息外,还会记录请求和响应的头信息
* FULL:记录所有请求与响应的明细,包括头信息、请求体、元数据
*/
@Bean
Logger
.
Level
feignLoggerLevel
()
{
return
Logger
.
Level
.
FULL
;
}
/**
* Feign支持文件上传
* @param messageConverters
* @return
*/
@Bean
@Primary
@Scope
(
"prototype"
)
public
Encoder
multipartFormEncoder
(
ObjectFactory
<
HttpMessageConverters
>
messageConverters
)
{
return
new
SpringFormEncoder
(
new
SpringEncoder
(
messageConverters
));
}
}
jeecg-boot/jeecg-boot-starter/jeecg-boot-starter-cloud/src/main/java/org/jeecg/starter/cloud/config/FeignClientConfig.java
已删除
100644 → 0
浏览文件 @
ce44147e
//package org.jeecg.starter.cloud.config;
//
//import feign.Feign;
//import feign.Logger;
//import feign.RequestInterceptor;
//import feign.codec.Encoder;
//import feign.form.spring.SpringFormEncoder;
//import lombok.extern.slf4j.Slf4j;
//import org.jeecg.common.constant.CommonConstant;
//import org.springframework.beans.factory.ObjectFactory;
//import org.springframework.boot.autoconfigure.AutoConfigureBefore;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
//import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
//import org.springframework.cloud.openfeign.FeignAutoConfiguration;
//import org.springframework.cloud.openfeign.support.SpringEncoder;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.Primary;
//import org.springframework.context.annotation.Scope;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//import javax.servlet.http.HttpServletRequest;
//
//
//@ConditionalOnClass(Feign.class)
//@AutoConfigureBefore(FeignAutoConfiguration.class)
//@Slf4j
//@Configuration
//public class FeignClientConfig {
//
// @Bean
// public RequestInterceptor requestInterceptor() {
// return 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);
// }
// };
// }
//
//
//
// /**
// * Feign 客户端的日志记录,默认级别为NONE
// * Logger.Level 的具体级别如下:
// * NONE:不记录任何信息
// * BASIC:仅记录请求方法、URL以及响应状态码和执行时间
// * HEADERS:除了记录 BASIC级别的信息外,还会记录请求和响应的头信息
// * FULL:记录所有请求与响应的明细,包括头信息、请求体、元数据
// */
// @Bean
// Logger.Level feignLoggerLevel() {
// return Logger.Level.FULL;
// }
//
// /**
// * Feign支持文件上传
// * @param messageConverters
// * @return
// */
// @Bean
// @Primary
// @Scope("prototype")
// public Encoder multipartFormEncoder(ObjectFactory<HttpMessageConverters> messageConverters) {
// return new SpringFormEncoder(new SpringEncoder(messageConverters));
// }
//}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录