Spring 云网关路由 URL 模式配置

Spring Cloud Gateway Route URL pattern configuration

我已经使用 Eureka 发现服务实现了 Spring 云网关,一切正常,但我在编写 URL 和如果我不在 URL 的末尾放置一个 /,网关会直接使用其实际的 URL(在 Eureka 中注册)重定向到应用程序。

例如:

是否有配置可以避免第一种情况?

我的配置如下:

spring:
  application:
    name: gateway-service
  cloud:
    gateway:
      routes:
        - id: bar-service
          uri: lb://BAR-SERVICE/
          predicates:
            - Path=/bar/**
        - id: other-service
          uri: lb://OTHER-SERVICE/
          predicates:
            - Path=/OTHER/**

附加信息:

如有任何建议,我们将不胜感激!干杯!

您应该在网关配置中使用 RewritePath。以下是示例,希望对您有所帮助。

spring:
  application:
    name: gateway-service
  cloud:
    gateway:
      routes:
        - id: bar-service
          uri: lb://BAR-SERVICE/
          predicates:
            - Path=/bar/**
          filters:
            - RewritePath=/bar(?<segment>.*), /$\{segment}