Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
797244b8
提交
797244b8
authored
5月 22, 2023
作者:
ych
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 修复body数据过大超过默认256K时,报错(DataBufferLimitException: Exceeded limit on max…
fix: 修复body数据过大超过默认256K时,报错(DataBufferLimitException: Exceeded limit on max bytes to buffer), 修改spring.codec.max-in-memory-size也无效的问题
上级
2d160aea
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
8 行增加
和
4 行删除
+8
-4
AccessLogFilter.java
...iocoder/yudao/gateway/filter/logging/AccessLogFilter.java
+8
-4
没有找到文件。
yudao-gateway/src/main/java/cn/iocoder/yudao/gateway/filter/logging/AccessLogFilter.java
浏览文件 @
797244b8
...
...
@@ -9,6 +9,7 @@ import cn.iocoder.yudao.gateway.util.WebFrameworkUtils;
import
com.alibaba.nacos.common.utils.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.reactivestreams.Publisher
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.gateway.filter.GatewayFilterChain
;
import
org.springframework.cloud.gateway.filter.GlobalFilter
;
import
org.springframework.cloud.gateway.filter.factory.rewrite.CachedBodyOutputMessage
;
...
...
@@ -23,7 +24,7 @@ import org.springframework.core.io.buffer.DefaultDataBufferFactory;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ReactiveHttpOutputMessage
;
import
org.springframework.http.codec.
HttpMessageRead
er
;
import
org.springframework.http.codec.
CodecConfigur
er
;
import
org.springframework.http.server.reactive.ServerHttpRequest
;
import
org.springframework.http.server.reactive.ServerHttpRequestDecorator
;
import
org.springframework.http.server.reactive.ServerHttpResponse
;
...
...
@@ -31,7 +32,6 @@ import org.springframework.http.server.reactive.ServerHttpResponseDecorator;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.reactive.function.BodyInserter
;
import
org.springframework.web.reactive.function.BodyInserters
;
import
org.springframework.web.reactive.function.server.HandlerStrategies
;
import
org.springframework.web.reactive.function.server.ServerRequest
;
import
org.springframework.web.server.ServerWebExchange
;
import
reactor.core.publisher.Flux
;
...
...
@@ -57,7 +57,11 @@ import static cn.hutool.core.date.DatePattern.NORM_DATETIME_MS_FORMATTER;
@Component
public
class
AccessLogFilter
implements
GlobalFilter
,
Ordered
{
private
final
List
<
HttpMessageReader
<?>>
messageReaders
=
HandlerStrategies
.
withDefaults
().
messageReaders
();
/**
* 解决spring.codec.max-in-memory-size设置不生效的问题
*/
@Autowired
private
CodecConfigurer
codecConfigurer
;
/**
* 打印日志
...
...
@@ -137,7 +141,7 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
*/
private
Mono
<
Void
>
filterWithRequestBody
(
ServerWebExchange
exchange
,
GatewayFilterChain
chain
,
AccessLog
gatewayLog
)
{
// 设置 Request Body 读取时,设置到网关日志
ServerRequest
serverRequest
=
ServerRequest
.
create
(
exchange
,
messageReaders
);
ServerRequest
serverRequest
=
ServerRequest
.
create
(
exchange
,
codecConfigurer
.
getReaders
()
);
Mono
<
String
>
modifiedBody
=
serverRequest
.
bodyToMono
(
String
.
class
).
flatMap
(
body
->
{
gatewayLog
.
setRequestBody
(
body
);
return
Mono
.
just
(
body
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论