如何通过 Integration Studio 在 URL 中传递租户值?

How can I pass tenant value in the URL via Integration Studio?

我有一个多租户 API,我正在尝试使用 wso2 对其进行 RESTIFY。我正在尝试一种在 url.

中传递租户值的方法

localhost:8290//tenant/api/...

https://tenant.xyz.com/api/...

我尝试了 İntegration studio,我设法通过创建名为 {uri.var.tenant} 的 属性 并将其设置为租户名称来在 http 端点中传递文字租户值。但是,我不知道如何从这里获取租户名称

localhost:8290//tenant/api

并传到这里。

https://tenant.xyz.com/api/

我也尝试使用 APIM 发布者页面但没有成功。

据我所知,您的问题分为两部分。

  1. 如何参数化后端 URL。
  2. 如何从调用的前端API读取路径参数。

对于第一个,您所遵循的方法是正确的,可以在 https://apim.docs.wso2.com/en/latest/integrate/examples/endpoint_examples/using-http-endpoints/#example-1-populating-an-http-endpoint-during-mediation 找到示例。剩下的就是读取路径参数并填充 {uri.var.tenant},这是第二点。

对于第二点,您可以使用 URL 模板创建和 API 定义。请参阅 https://apim.docs.wso2.com/en/latest/reference/synapse-properties/rest-api-properties/ you can find an example of the usage at https://apim.docs.wso2.com/en/latest/integrate/examples/rest_api_examples/setting-query-params-outgoing-messages/#reading-a-query-or-path-parameter

中的 属性 URI 模板