1

我不明白如何访问 API (api_id) USER (user_id)、订阅的数据(用户 'x' 是否订阅了 API 'y'?)...

如何通过连接到某些数据库来执行此类控制?

4

1 回答 1

1

虽然你的问题不是很清楚,但希望你想知道 WSO2 API Manager 是如何实现数据库数据访问部分的。我将解释 WSO2 API Manager 是如何控制数据库数据的。

您可以从 [1] 中找到 WSO2 API Manager 使用的数据库脚本[它包含 h2/mysql/oracle dbscripts],它用于创建它的数据库表结构。您会注意到有单独的数据库表来存储有关 API 的信息[AM_API] 、subscribers[AM_SUBSCRIBER] 和 subscriptions[AM_SUBSCRIPTION] 等。您会注意到如何使用外键来启用表之间的关系以执行对数据的控制,同时确保数据以一致的方式存储。

然后是为 WSO2 API Manager 相关的后端功能定义的内置 java API,您可以从 [2] 中找到它,并且可以从 [3] 中找到其实现的 java 代码。如果您查看 ApiMgtDAO.java 类实现org.wso2.carbon.apimgt.impl 捆绑包,您将更好地了解 API Manager 的数据库访问层是如何通过数据库数据查询实现的。

以上希望对你有所帮助。

谢谢;

/拉拉吉

[1] https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/products/apimgt/1.0.0/modules/distribution/resources/sql/

[2]https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/components/apimgt/org.wso2.carbon.apimgt.api/1.0.0/

[3]https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/components/apimgt/org.wso2.carbon.apimgt.impl/1.0.0/

于 2012-09-05T05:21:56.980 回答