有没有办法在 wso2 APIM 中不指定版本

Is there a way to not specify version in wso2 APIM

我正在尝试在 Wso2-APIM 2.6.0 上部署后端 API。此后端 API 在端点中有其版本控制。

/v1/devices

现在,如果我在创建 Wso2 时添加版本 API(因为版本字段是必需的),我最终将在我的 URL 中拥有两个版本控制机制。

curl -k -X GET "https://88.8.88.88:8243/device-management-api**/1.0/v1/**devices?limit=20&page=0&sort=id%2Cdesc" -H "accept: application/hal+json" -H "Authorization: Bearer AAA"

有什么办法可以不在wso2中指定版本?我想我应该能够更改 synapse-config 来做同样的事情。

  1. 谁能告诉我正确的位置?
  2. 我相信这是每个​​人都会遇到的一个非常普遍的问题。
  3. 开发人员如何解决这个问题?什么是行业常态?

选项1(推荐):

为 API 配置端点时,使用包含的后端版本对其进行配置。例如。像这样设置端点。

https://xxx.xxx.xxx.xx:yyyy/device-service/v1/

然后你可以在调用时删除"backend"版本。例如。

https://88.8.88.88:8243/device-management-api/1.0/devices

建议这样做,因为您不应向用户公开后端版本。相反,您应该公开的是 APIM 的 API 版本。

选项 2:

在管理选项卡中勾选 Default version

那么调用的时候就可以drop版本了。例如。这两个都可以。

https://88.8.88.88:8243/device-management-api/v1/devices
https://88.8.88.88:8243/device-management-api/1.0/v1/devices