跳到主要内容
版本: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 必须与路由中的特定 pathmethod 组合相匹配。

添加 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 方法。

更多资源