Spring Webflux Reactor Netty: HTTP шестнадцатеричный дамп запроса / ответа? - PullRequest
1 голос
/ 21 марта 2019

Какой уровень журнала мы должны установить в application.properties, чтобы увидеть полный HTTP-запрос и ответ с заголовками и телом как шестнадцатеричный дамп в консоли от реактора-нетто?

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 Ответ

3 голосов
/ 21 марта 2019

Сохраните уровень ведения журнала как DEBUG или TRACE и следуйте инструкциям ниже:

  1. Если вы хотите увидеть hex dump для сервера, вы можете настроить его следующим образом:
@Component
public class MyNettyWebServerCustomizer
        implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {
    @Override
    public void customize(NettyReactiveWebServerFactory factory) {
        factory.addServerCustomizers(httpServer -> httpServer.wiretap(true));
    }
}
Если вы хотите увидеть hex dump для клиента, вы можете настроить его следующим образом:
WebClient.builder()
        .clientConnector(new ReactorClientHttpConnector(HttpClient.create().wiretap(true)))
        .build();
...