Spring Webflux Reactor Netty:HTTP 请求/响应十六进制转储?

3

为了在控制台中以十六进制转储的形式查看带有头和正文的完整HTTP请求和响应,我们需要在application.properties中设置什么日志级别才能从反应堆 - netty中看到?

logging.level.reactor.netty=trace

仅显示HTTP响应标头。

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 248
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1 ; mode=block
Referrer-Policy: no-referrer
1个回答

6
保持日志级别为DEBUG或TRACE,并按照以下指示操作:
  1. 如果您想查看服务器的十六进制转储,则可以按如下方式进行自定义设置:
@Component
public class MyNettyWebServerCustomizer
        implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {
    @Override
    public void customize(NettyReactiveWebServerFactory factory) {
        factory.addServerCustomizers(httpServer -> httpServer.wiretap(true));
    }
}

如果您想查看客户端的十六进制转储,则可以按照以下方式进行自定义:
WebClient.builder()
        .clientConnector(new ReactorClientHttpConnector(HttpClient.create().wiretap(true)))
        .build();

运作得非常顺畅! - Dachstein
这个问题没有现成的Spring Boot应用程序属性设置吗? - Dachstein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接