首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >向路径添加WebFilter Spring WebFlux

向路径添加WebFilter Spring WebFlux
EN

Stack Overflow用户
提问于 2021-12-06 15:52:45
回答 1查看 552关注 0票数 -1

我有一个过滤器:

代码语言:javascript
复制
@Component
public class RequestIdFilter implements WebFilter {


    @Override
    public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {

        //my logic

        return chain.filter(exchange);
    }

如果不是WebFlux,我就会这么做:

代码语言:javascript
复制
@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?指定必要的过滤器路径

EN

回答 1

Stack Overflow用户

发布于 2021-12-06 16:06:36

根据,声明WebFilter就足够了

我想你需要一个HandlerFilterFunctions

WebFlux框架提供了两种类型的过滤器: WebFilters和HandlerFilterFunctions。HandlerFilterFunction实现只适用于基于路由器的实现。

有一个例子这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70248197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档