spring-cloud/spring-cloud-gateway

Forward Routing filter doesn't support path parameters for local forwarding

Open

#2,092 opened on Dec 29, 2020

View on GitHub
 (14 comments) (2 reactions) (0 assignees)Java (3,204 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (4,284 stars)
PR merge metrics
 (Avg merge 1d 21h) (18 merged PRs in 30d)

Description

Describe the bug I am using forward scheme in my route to forward the request to local controller defined in the gateway application. My controller's API path is something like this:

/api/v1/service/{id}/path where id is path parameter. As per the documentation of Forward Routing filter, the path part of the request URL is overridden with the path in the forward URL. That means that whatever was mentioned in the forward:/mycustompath will be added to the url. In this case, i can't route the request to my controller where id will change for each request.

Is there a way to achieve this? We were earlier using Spring cloud zuul and we are now migrating to spring cloud gateway and this is not working for us. I am trying to write a custom filter for this where i modify the correct path in the filter. Is this correct approach for this?

Sample image

Contributor guide