前提条件:

起两个服务:gateway和subwallet,以及nacos注册中心。

gateway的routes配置如下:

          # 测试模块
        - id: subwallet
          uri: lb://subwallet
          predicates:
            - Path=/subwallet/**
          filters:
            - StripPrefix=1
# 不校验白名单
ignore:
  whites:
    - /subwallet/**

subwallet模块的spring application.name=subwallet;

出现的问题是:

无论我在filter下添加多少filter,都无法添加到

GatewayFilterChain责任链中。

访问url:

由debug模式可以看到 StripPrefixGatewayFilterFactory 并没有没添加到GatewayFilterChain中。

解决办法:

将测试模块的subwallet的spring.aplication.name改为与Path=/subwallet/**中subwallet的不一致即可。

将subwallet改为dcwlt-subwallet后,再重启服务。

发url

 可以看到 StripPrefixGatewayFilterFactory 已经添加到责任链中了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐