直接返回响应,无需在 Spring WebFlux 中链接过滤器

问题描述 投票:0回答:1

我试图在我的网关中返回一个响应,具体取决于在redis中找到的值,但它总是命中控制器,并且在返回 NettyRoutingFilter 时尝试删除标头,然后它会抛出

UnsupportedOperationException
,因为响应已提交

return response.writeWith(Mono.just(buffer))
                                    .then(Mono.fromRunnable(() -> {
                                        // Mark the response as complete to terminate the filter chain
                                        exchange.getResponse().setComplete();
                                    }));

期望终止链,直接返回响应

java spring spring-boot spring-webflux
1个回答
0
投票

您似乎在使用 Spring WebFlux 时遇到了困难!您正在寻找直接从 Redis 改进网关响应的方法,这真是太棒了。为了处理逻辑而不太早提交响应,您可能想看看是否可以在过滤器链中更早地拦截响应或使用自定义过滤器。通过这样做,可以解决 UnsupportedOperationException 并且控制器可能不会受到影响。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.