如何在 spring 云网关中添加额外的 uri 路径

How to add extra path to uri in spring cloud gatway

我想为 spring 云网关中的不同 api 添加自定义路径。

我有两个 api:

  1. 服务 1:http://localhost:2121

服务 1 的端点如下:http://localhost:2121/abc

  1. 服务 2:http://localhost:3434

服务 2 的端点类似于 http://localhost:3434/abc

api 网关:http://localhost:8090

问题:

我想将 service1 路径添加到 API 网关,我想重定向到服务 1

示例 1:http://localhost:8090/service1/abc 应该重定向到 http://localhost:2121/abc

示例 2:http://localhost:8090/service1/anything 应该重定向到 http://localhost:2121/anything

服务 2 相同。

我为 spring 云网关使用 yml 配置。

spring:
  application:
    name: api-gateway
  cloud:
    gateway:
      routes:
        - id: service1
          uri: http://localhost:2121
        - id: service2
          uri: http://localhost:3434

提前致谢。

spring:
    cloud:
        gateway:
            routes:
            -  id: service1
               uri: http://localhost:2121
               predicates:
               -   Path=/service1/**
               filters:
               -   StripPrefix=1
            -  id: service2
               uri: http://localhost:3434
               predicates:
               -   Path=/service2/**
               filters:
               -   StripPrefix=1

然后所有映射“/service1/xxxx”的请求将代理到 service_1“/xxxx”。

spring cloud gateway reference将为您提供更多详细信息。