spring-cloud/spring-cloud-gateway

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

Open

#2,092 创建于 2020年12月29日

在 GitHub 查看
 (14 评论) (2 反应) (0 负责人)Java (3,204 fork)batch import
enhancementhelp wanted

仓库指标

Star
 (4,284 star)
PR 合并指标
 (平均合并 1天 21小时) (30 天内合并 18 个 PR)

描述

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

贡献者指南