在Spring Webflux中捕获响应

用户名

有没有一种方法可以捕获Spring 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)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Spring Webflux中处理条件响应的正确方法是什么

如何在Spring WebFlux中记录请求和响应正文

Spring Webflux非阻塞响应

有什么方法可以在Spring Webflux中实现分页和Spring数据响应

Spring WebFlux - 如何捕获冲突异常

Spring WebFlux没有流式响应

如何使用 Spring Webflux 返回 GZIP 响应?

如何获得Spring的WebFlux发出响应

如何在 Spring webflux 中以字符串形式获取原始响应?

如何在Spring Webflux中返回Mono <Map <String,Flux <Integer >>>响应?

如何为基于Webflux的Spring-boot项目在Swagger中添加错误响应格式

Spring Webflux中的flatMap()与subscribe()

在Spring 5中缓存WebFlux

Spring webflux 中的异常处理

对于Spring WebFlux的WebClient,如何捕获Netty的异常(例如ProxyConnectException)

Spring WebFlux WebClient挂起,Mono.timeout无法捕获它

如何计算总执行时间并在响应头中设置Spring WebFlux中每个请求的x-runtime?

当我在响应主体中返回值时,Spring WebFlux抛出“生产者”类型是未知的

Spring @Async与Spring WebFlux

使用Retrofit2和RxAndroid从Spring WebFlux获得响应

禁用传输编码:在Spring Webflux响应中分块

Spring WebFlux-为什么我必须等待WebClient响应?

Spring WebFlux 和 WebClient 更改错误响应

Spring Webflux 在响应式堆栈中使用阻塞的 HttpClient

ReactJs UI 中的 Spring webflux 数据

在Spring Webflux中合并多个单声道

Spring Webflux:我的 JAR 中的 FileNotFoundException

在CORS Spring Security + WebFlux中启用通配符

在Spring WebFlux中处理全球方案