用于将 API 推送到 IBM API Connect 中的 REST 端点
REST 端点对于本地和云 Liberty 用户而言位于中央位置,可以使用此端点对 API 进行可视化、调用以及将其推送到 IBM® API Connect 中。
将已部署的 REST 端点推送到 IBM API Connect 中
要将已部署的 REST 端点推送到 IBM API Connect 中,您必须调用新的 REST 端点 /ibm/api/docs/apiconnect,此端点由 apiDiscovery-1.0 功能部件在服务器配置中公开。管理员和开发者可以使用 REST 端点从 Liberty 实例向任何正在搜索 IBM API Connect 框架目录的企业开发者公开资产。
提供产品定义
所有 API 都由产品引用并从目录中公开。因此,调用者提供产品定义,而 Liberty 使用该产品定义来引用其 RESTful API 并将所生成的产品推送到 IBM API Connect 中。本主题中提供了样本产品。
将 Liberty 集合体的资产在 IBM API Connect 中公开
通过使用相应的 Liberty 集合体端点 /ibm/api/collective/docs/apiconnect,您可以借助单个 RESTful 触发器将 Liberty 集合体的所有资产在 IBM API Connect 中公开。Liberty 集合体端点可以向任何连接到 API Connect 的云开发者公开成千上万个 API。要获取此端点的完整 Swagger 定义,请参阅 Liberty RESTful API 注册表 /ibm/api/explorer。
端点摘要
HTTP 请求方法:POST
URL:https://server:https_port/ibm/api/docs/apiconnect
必需的头
- X-APIM-Authorization
- 用于连接到 API Connect 的凭证以下面两种格式显示:
- username 和 password
- xyz,其中 xyz 是“用户名: 密码”的基本 64 位编码版本。
必需的查询参数
- 服务器
- IBM API Connect 服务器的名称,此名称以 https:// 开头。
- Catalog
- 托管所生成产品的目录的名称。
- Organization
- 调用者所属组织的名称。
可选的查询参数
- apiRoot
- 这是一个多基数参数,用于准确地指定调用者想要推送到 API Connect 中的上下文根(例如 apiRoot=/myApp)。缺省情况下,Liberty 包含所有已部署的应用程序,但已知的 Liberty 运行时 Web 应用程序捆绑软件除外。当您想要对要公开的应用程序进行过滤时,此参数非常有用。
- member ID(仅可用于集合体变体)
- 这是一个多基数参数,用于指定调用者想要从中公开资产的准确集合体成员的标识。此标识由包含主机名、URL 编码的用户目录和服务器名称的字符串组成,所有项都以逗号分隔,例如 myHost.com, %2Ftmp%2Fwlp%2Fusr, server1。
- Input body
- YAML 或 JSON 代码中的产品定义。请参阅以下 YAML 示例:
product: "1.0.0" info: name: "pushed-product" title: "A Product that encapsulates Liberty APIs" version: "1.0.0" visibility: view: enabled: true type: "public" tags: - "string" orgs: - "string" subscribe: enabled: true type: "authenticated" tags: - "string" orgs: - "string" apis: liberty: name: "liberty-api:1.0.0" x-ibm-configuration: phase: "realized" testable: true enforced: true cors: enabled: true assembly: execute: - invoke: target-url: "${gateway.target}" title: "Invocation" description: "Invoking back-end service" plans: default: title: "Default Plan" rate-limit: hard-limit: false value: "100/hour" approval: false createdAt: "2016-04-18T20:33:22.937Z" createdBy: "string"