webfilter 订阅过滤逻辑
webfilter do subscribe in filter logic
我正在使用 webflux。
intellij idea 发出警告。
警告信息:calling subscribe in non-blocking scope
有没有正确订阅响应单声道的方法?
(我不想影响原始请求。)
@Slf4j
@Component
public class CustomWebFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
Mono<String> response = getAsyncResponse();
mono.subscribe();
return chain.filter(exchange);
}
}
你不应该 subscribe()
但你需要构建反应流,WebFlux 将订阅它。此外,subscribe
是异步操作,您的过滤器将无法按预期工作。
@Slf4j
@Component
public class CustomWebFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
return getAsyncResponse()
.flatMap(respone -> chain.filter(exchange));
}
}
我正在使用 webflux。
intellij idea 发出警告。
警告信息:calling subscribe in non-blocking scope
有没有正确订阅响应单声道的方法? (我不想影响原始请求。)
@Slf4j
@Component
public class CustomWebFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
Mono<String> response = getAsyncResponse();
mono.subscribe();
return chain.filter(exchange);
}
}
你不应该 subscribe()
但你需要构建反应流,WebFlux 将订阅它。此外,subscribe
是异步操作,您的过滤器将无法按预期工作。
@Slf4j
@Component
public class CustomWebFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
return getAsyncResponse()
.flatMap(respone -> chain.filter(exchange));
}
}