Viktor Procházka
Viktor Procházka

Reputation: 51

Spring gateway - how to strip prefix for all routes only once

I am using configuration mode. Where is multiple (20) routes. But my server is accessible behind the URL PATH prefix http://prefixHere/method:port?property=value due Firewall and this can not be changed.

So when I have 20 of different methods (each ends in other service) then I must define 20 times.

I want to define the StripPrefix only once. This was working in previous Zuul gateway. How to do in cloud gateway?

Here is my config:

spring:
    cloud:
        gateway:
            discovery:
                locator:
                    lower-case-service-id: true
                    enabled: true
            routes:                
                - id: auth-service
                  uri: lb://server-auth
                  predicates:
                    - Path=/prefixHere/auth/**
                  filters:
                    **- StripPrefix=1**
                - id: operation-service
                  uri: lb://operation-service
                  predicates:
                    - Path=/prefixHere/operation/**
                  filters:
                    **- StripPrefix=1**

Upvotes: 2

Views: 3834

Answers (1)

Braian Silva
Braian Silva

Reputation: 2174

Yes, use "default-filters:" and it will be applied to all routes at once.

spring:
    application:
            name: gateway
    cloud:
        gateway:
            default-filters:
                - StripPrefix=1

E.g:

spring:
  application:
    name: GATEWAY-SERVICE
  cloud:
    gateway:
     default-filters:
      - StripPrefix=1
     discovery:
       locator:
         enabled: true 
         lowerCaseServiceId: true
     routes:
       - id: department-service
         uri: lb://department-service
         predicates:
           - Path=/api/departments/**         
       - id: user-service
         uri: lb://USER-SERVICE
         predicates:
           - Path=/api/users/**

Reference: Introduction to spring cloud gateway

Upvotes: 1

Related Questions