Я определил WebClient
:
@Bean
WebClient myWebClient() {
return WebClient.builder()
.baseUrl(baseUrl)
.filter(logRequest())
.filter(logResponse())
.build();
}
private ExchangeFilterFunction logRequest() {
return ExchangeFilterFunction.ofRequestProcessor(clientRequest -> {
log.info("MY_WEB_CLIENT | Performing {} {} request", clientRequest.method(), clientRequest.url());
return Mono.just(clientRequest);
});
}
private ExchangeFilterFunction logResponse() {
return ExchangeFilterFunction.ofResponseProcessor(clientResponse -> {
log.info("MY_WEB_CLIENT | Respond with {} status code", clientResponse.rawStatusCode());
return Mono.just(clientResponse);
});
}
В logResponse
методе фильтрации я регистрирую ответ httpStatusCode
, но также я хотел бы добавить httpMethod + uri
, где был выполнен запрос. Я знаю, что могу получить доступ к этим данным до запроса (используя ExchangeFilterFunction.ofRequestProcessor()
), но есть ли способ добавить эти данные в мой logResponse
фильтр?