【发布时间】:2020-04-05 23:58:22
【问题描述】:
我已经定义了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 过滤器中?
【问题讨论】:
标签: java spring spring-boot spring-webflux spring-webclient