路由不起作用的集中情况:

配置如下:

spring:
  application:
    name: gateway
  cloud:
    gateway:
      routes:
      - id: cruder_route
        uri: http://localhost:19602/
        predicates:
        - Path=/crud/**
        filters:
        - StripPrefix=1

      - id: cruder_static
        uri: http://localhost:19602/
        predicates:
        - Path=/static/**,/cruder/**,/view/**,/vue/**,/objectRel/**,/interface/**,/manage/**,/admin/**
      - id: gate
        uri: http://localhost:9000/
        predicates:
        - Path=/gate/**,
      - id: spider_route
        uri: http://localhost:19603/
        predicates:
        - Path=/spider/**,

标红的部分:

1、目标路径和断言部分,跟zuul的方式不一,没有自动清除前缀。虽有要配置:过滤器,脱掉前缀。

filters:
        - StripPrefix=1

2、断言中,Path配置的后面加上逗号。这种情况,在第一个配置中生效,但是在后续的就不生效了。加上逗号就可以了。

以上是我解决路由不工作的问题的处理方式。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐