用于将 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 端点向正在搜索 IBM API Connect 框架目录的任何企业开发者公开 Liberty 实例中的资产。
提供产品定义
所有 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。 请参阅 Liberty RESTful API 注册表 /ibm/api/explorer,以获取此端点的完整 Swagger 定义。
端点摘要
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(仅可用于集合体变体)
- 这是一个多基数参数,用于指定调用者想要从中公开资产的准确集合体成员的标识。 此标识由具有主机名
the URLEncoded user dir和服务器名称的字符串组成,所有这些字符串都以逗号分隔,例如: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"