跳到主要内容
版本:3.9.x

产品化服务

创建并管理 API 产品以将你的已发布服务产品化。每个 API 产品至少包含一个带有 OpenAPI 规范的已发布服务。

从已发布的 API7 网关服务创建 API 产品可以简化开发工作流程。对已发布服务的更改会自动反映在关联的 API 产品中,无需手动更新,从而节省大量时间和精力。开发者可以专注于消费 API,而无需关心底层服务配置或插件详情。

本教程将演示如何为内部开发者创建 API 产品,并概述订阅流程。

前置条件​

  1. 已安装并激活带有门户许可证的 API7 企业版 v3.9.0 或更高版本。如果你使用的是试用许可证,则门户默认启用。请参阅安装 API7 企业版。
  2. 拥有一个正在运行的已发布服务。

添加 OpenAPI 规范​

  1. 从侧边导航栏选择你的网关组的 已发布服务(Published Services),然后点击你想要修改的服务,例如,无版本的 httpbin 服务。

  2. 在该已发布服务下,从侧边导航栏选择 OpenAPI 规范(OpenAPI Specification)。

  3. 点击 上传 OpenAPI 规范(Upload OpenAPI Specification)。

  4. 填写表单:

    • 使用以下 OpenAPI 规范:
    httpbin.yaml
    openapi: 3.0.0
    info:
    title: HTTPBin
    description: A simple HTTP request and response service.
    version: 1.0.0
    servers:
    - url: https://httpbin.org

    paths:
    /ip:
    get:
    summary: Returns GET request information
    responses:
    '200':
    description: Successful response
    content:
    application/json:
    schema:
    $ref: '#/components/schemas/Get'

    components:
    schemas:
    Get:
    type: object
    properties:
    args:
    type: object
    headers:
    type: object
    origin:
    type: string
  5. 点击 保存(Save)。

  6. 为避免认证冲突,请不要在已发布服务中启用任何认证插件。API 产品的配置将处理认证。

备注

请确保 OpenAPI 规范与你的已发布服务相匹配:

  • OpenAPI 规范中的 Servers 字段对应于已发布服务中的 Hosts 字段。
  • OpenAPI 规范中定义的每个 Path 必须与路由中的特定 path 和 method 组合相匹配。

添加 API 产品​

  1. 使用导航栏左上角的按钮切换到 API7 提供方门户(Provider Portal)。
  2. 点击 添加 API 产品(Add API Product),然后选择 从 API7 网关(From API7 Gateway)。
  3. 填写表单:
    • 在 名称(Name) 字段中,输入 httpbin。
    • 在 身份验证类型(Authentication Type) 字段中,选择 Key Authentication(密钥认证)、Basic Authentication(基本认证)或 DCR。
    • 关闭 订阅自动批准(Subscription Auto Approval) 开关。
    • 在 API Hub 列表可见性(API Hub List Visibility) 字段中,选择 Visible to logged-in developers only(仅对登录的开发者可见)。
    • 打开 未订阅开发者可查看 API 详情(Unsubscribed developers can view API details) 开关。
    • 点击 添加关联的网关服务(Add Linked Gateway Service)。
    • 在对话框中,执行以下操作:
      • 在 网关组(Gateway Group) 字段中,选择你的目标网关组。例如,default。
      • 在 已发布服务(Published Services) 字段中,选择你的目标服务。例如,httpbin。
      • 点击 添加(Add)。
  4. 点击 添加(Add)。
  5. 默认情况下,新创建的 API 产品处于 草稿(draft) 状态,并且在开发者门户上不可见。点击顶部的 操作(Actions) 按钮,然后选择 发布(Publish)。
  6. 点击 确认(Confirm)。

开发者请求订阅​

  1. 使用开发者帐户登录到开发者门户。
  2. 从顶部导航栏选择 API Hub。
  3. 选择 httpbin。
  4. 浏览 API 详情以确保它们满足特定需求。
  5. 点击 立即订阅(Subscribe Now)。
  6. 等待批准。

提供方通过审批​

  1. 从顶部导航栏选择 组织(Organization),然后选择 审批(Approvals)。
  2. 对特定请求点击 接受(Accept)。

开发者验证 API​

  1. 使用开发者帐户登录到开发者门户。
  2. 从顶部导航栏选择 API Hub。
  3. 选择 httpbin。
  4. 点击 测试请求(Test Request)。
  5. 此时将预先选择 Auth Type(认证类型),并自动填写复制自开发者凭证的 API key。如果 API 产品允许多种认证类型,则可以使用任何有效的凭证。
  6. 点击 发送(Send)。
  7. 收到 200 响应。

故障排除​

CORS 错误​

当从浏览器测试或消费 API 产品时,你可能会遇到 CORS(跨源资源共享)错误。此问题通常在以下两种情况中出现:

  • 使用 测试请求(Test Request) 功能从开发者门户进行测试
  • 客户端 Web 应用程序从浏览器消费 API 产品

使用 Postman 等工具或通过直接 API 调用向网关发送请求时,不会发生此问题。浏览器强制执行 CORS 限制并发送预检 OPTIONS 请求,因此如果网关路由不允许 OPTIONS 方法或未启用 CORS 插件,浏览器将报告 CORS 错误。

若要解决此问题,请使用以下方法之一:

  • 在路由级别,配置 CORS 插件 并启用 OPTIONS HTTP 方法。
  • 全局配置 CORS 插件。全局配置该插件后,CORS 和预检 OPTIONS 请求将被自动处理,即使个别路由没有明确允许 OPTIONS 方法。

更多资源​