您可以为内部 ABP 路由添加前缀吗?

Can you prefix internal ABP routes?

我在 ASP.NET Core 3.1 微服务环境中使用 ABP v3.3。

我们想在我们的微服务路由前加上服务名称。 例如,会计服务将是:

/accounting/api/invoices  
/accounting/api/payments

这对我们自己的控制器来说很好,因为我们可以用路由属性定义路由。例如 [Route("accounting/api/invoices")]

但是对于像
这样的内部 abp 路由 /api/abp/api-definition
在 Abp 模块中定义的控制器已经应用了这些路由属性,我们如何添加这个前缀?

除了此处不适用的常规控制器创建情况外,我在文档中找不到与此相关的任何内容。

以上是为了支持所有微服务都在内部负载均衡器后面的场景,所有 /accounting 路由应该转发到这个单一服务。当前使用 IHttpClientProxy 进行服务到服务请求时,这很麻烦,因为 /api/abp/api-definition 请求需要转发到特定的微服务。

我发现的唯一替代方法是将所有服务的根路径设置为 http://<loadbalancer>/<servicename>,然后在每个服务中添加行
app.UsePathBase("/accounting")
从请求中删除上述路径以启用路由匹配。
然而,这确实会导致生成的 Swagger 文档因显示此额外路由路径而出现其他问题,这可能会变得混乱。

感谢任何帮助

可以,但不推荐,因为您需要替换多个代码部分。 例如