有没有办法在春季Webflux中捕获响应体。我知道这违反了反应性原则,但是我需要捕获身体并返回响应。我正在使用 ExchangeFilterFunction。
public Optional<ExchangeFilterFunction> buildEnricher() {
return Optional.of(ExchangeFilterFunction.ofResponseProcessor(clientResponse -> {
return clientResponse.bodyToMono(String.class)
.flatMap(body -> {
System.out.println(body);
return Mono.just(clientResponse);
});
}));
这最终会消耗身体并发送一个空客户端 响应。有没有办法我也可以把尸体送回去?
您可以选择克隆客户端响应。
ClientResponse responseClone = ClientResponse.from(clientResponse)
您现在可以从responseClone
中排出身体并返回Mono.just(clientResponse)