我有一个过滤器:
@Component
public class RequestIdFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
//my logic
return chain.filter(exchange);
}
如果不是WebFlux,我就会这么做:
@Configuration
class FilterConfig {
private final String V1_URL_PATTERN = "/v1/*";
private final String V2_URL_PATTERN = "/v2/*";
@Bean
public FilterRegistrationBean<RequestIdFilter> requestIdFilter() {
FilterRegistrationBean<RequestIdFilter> filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(new RequestIdFilter());
filterRegistrationBean.addUrlPatterns(V1_URL_PATTERN, V2_URL_PATTERN);
return filterRegistrationBean;
}
}
但这是不可能的,因为RequestIdFilter实现了WebFilter.
如何使用WebFilter Spring WebFlux?指定必要的过滤器路径
https://stackoverflow.com/questions/70248197
复制相似问题