教程:创建代理 REST API 定义

本教程介绍如何定义和实施代理现有服务的 REST API 定义。

关于本教程

在本教程中,您将完成以下课程:
  1. 创建 REST API 定义
  2. 测试 REST API

准备工作

注意: 沙盒目录必须配置为使用 DataPower® API GatewayDataPower Gateway (v5 compatible) ,或同时使用两者。 有关详细信息,请参阅创建和配置目录

创建 REST API 定义

您可以创建并定义一个REST API,用于返回一家虚构银行的分行信息, BankA ,具体步骤如下。
  1. 登录API管理器
  2. 在主页左侧面板中,单击 " 开发 "图标,或单击 " 开发 API 和产品 "磁贴,如下图所示。

    应用程序接口管理器主页

  3. "开发 "界面,单击添加 > API
  4. OpenAPI 2.0 屏幕中,选择 OpenAPI 2.0 选项卡。
    注意: 默认情况下,选择 OpenAPI 2.0 选项卡已被选中。
  5. 在 " 创建 "部分,选择 " 从目标服务 "单选按钮。
  6. 单击下一步
  7. 在 " 从目标服务创建 API "页面的 " 信息 "部分下,输入以下值以从目标服务创建 REST API。
    1. 在标题栏中输入 Branches
      注意: " 名称 "字段将自动填充您在 " 标题 "字段中输入的值。 在这种情况下," 姓名 "字段会自动填充 branches
    2. 版本字段保留为 1.0.0

      基本路径字段由 /branches 自动填充。

    3. 目标服务 URL 字段中,输入 https://sample-api.us-east-a.apiconnect.automation.ibm.com/bank/branches
    4. 单击下一步
  8. 安全部分下、
    1. 如果尚未选中,请选中使用客户端 IDCORS 进行保护复选框。
    2. 单击下一步
  9. 在 " 摘要 "部分、
    1. 确保 " 生成 OpenAPI 2.0 "定义"应用安全 "标记为绿色。

      绿色的"√"表示 API 创建成功。

    2. 单击编辑 API 以继续配置 API。
  10. 在新界面中,选择 " 设计 "选项卡(如果尚未选择)。
  11. "设计 " 视图屏幕的左侧面板中,单击 " 定义 "旁边的 + 图标。
  12. 添加模式对话框中、
    1. “模式名称(密钥) ”字段中输入 address
    2. 类型下拉列表中,选择 object
    3. 单击添加

      添加模式对话框现已关闭。 在 "设计 "视图屏幕的右侧面板中,将显示地址部分。

    4. 地址部分下的描述字段中,输入 The format of the address object
    5. 在右上角单击 " 保存 "。

    新对象地址的模式现在显示在 " 定义 "部分。

  13. 要为新对象创建属性,请输入地址
    1. 在 " 定义 "部分,选择地址

      地址部分显示在右侧面板中。

    2. 地址部分,单击添加

      添加新属性对话框将显示。

  14. 要配置属性,请在添加新属性对话框中输入以下值。
    1. 在 " 名称 "字段中,输入 street1
    2. 类型下拉列表中,选择 string
    3. 描述字段中,添加 The first line of the address
    4. 单击保存

      新的架构属性已创建,并显示在定义 > 地址 > 属性中。

    5. 要完成属性配置,请单击选项图标(三点),然后选择详细信息。 street1 然后选择详细信息

      显示 " 查看街道 1 的详细信息 "对话框

    6. 查看街道 1 的详细信息对话框中,执行以下步骤。
      1. 单击 " 文档 "选项卡。
      2. 示例值字段中,输入 4660 La Jolla Village Drive
      3. 单击保存
  15. 要创建其他新模式属性,请重复步骤 14 并输入表 1 中提供的值。
    表 1. 属性地址
    模式名称(键) 类型 描述 示例值
    street2 string The second line of the address Suite 300
    city string The city of the address San Diego
    state string The state of the address CA
    zip_code string The zip code of the address 92122
    注: 开发人员可在开发人员门户网站上找到模式定义。 这些模式定义包含开发人员期望在响应中使用的数据类型的相关信息。
  16. 要创建第二个定义模式,请重复步骤 11 至步骤 12。

    例如,创建名为 branch 的新定义模式。

  17. 要配置 branch 的属性,请重复步骤 13 至步骤 14,并输入表 2 中提供的值。
    注意: 要添加和访问您创建的模式定义的示例值 ,必须单击 " 保存 " 完成整个过程。
    表 2. 分支属性
    模式名称(键) 类型 描述 示例值
    address address The address of the branch  
    type string The type of branch atm
    id string The ID of the branch 9d72ece0-7e7b-11e5-9038-55f9f9c08c06

    请注意,对于地址属性, 类型部分指的是您在 API 中创建的定义,而示例部分是空白的。 按照这一流程,您可以创建复杂的数据结构。

    分支定义

  18. 要添加新路径,请在 "设计 " 视图屏幕左侧面板中单击 " 路径 " 旁边的 + 图标。
  19. 添加模式对话框中,执行以下步骤。
    1. 路径字段中,输入 /details
    2. 单击添加

    这将在可用路径列表中显示名为 /details 的新路径。

  20. Paths > /details 中,单击 Operations 旁边的 + 图标
  21. 添加模式对话框中,执行以下步骤。
    1. 动词下拉列表中,选择 get
    2. 单击添加

    GET 部分显示在设计视图屏幕的右侧面板中。

  22. 单击 " 设计 "视图屏幕右侧面板中的 " 保存 "。
  23. 要编辑路径中的 GET 操作,请单击 /details
  24. 要在路径中编辑 GET 操作,请在设计视图屏幕的左侧面板中的路径 > 操作下单击 GET
  25. 在右面板的 " GET "部分,向下滚动到 " Responses "部分。
  26. 要编辑回复,请执行以下步骤。
    1. 单击 200 旁边的选项图标(三点),然后选择编辑

      "设计 " 屏幕的右侧面板中会显示名为 200 的部分。

    2. 200 部分,执行以下步骤。
      1. 名称(密钥) 字段中,输入 200
      2. 描述字段中,输入 200 OK
      3. 单击保存

现在,应用程序接口已经上线,可供使用,您可以进行测试。

测试 REST API

备注: 由于跨源资源共享(CORS)的限制,在 macOS Catalina平台上,Chrome或Safari浏览器无法使用装配测试工具。
准备工作

在测试 REST API 之前配置网关服务。

要测试 REST API,请完成以下步骤。
  1. 在 "开发 "页面上,单击 API 旁边的菜单图标(三个点),然后单击 " 编辑 API "。
  2. 点击 “测试”选项卡
  3. 单击目标配置

    显示首选项对话框。

  4. 首选项对话框中执行以下任务。
    1. 自动发布选项设置为开
    2. 要设置目标产品速率限制 ,请执行以下任务。
      1. 单击编辑
      2. 选择速率限制 对话框中,选择自定义单选按钮。
      3. 通话次数 文本框中输入 5
      4. 从 " 按次 "下拉列表中选择 " 小时 "。
      5. 点击 “选择速率限制 ”。
    3. 首选项对话框中,单击保存首选项
  5. 单击页面顶部的 " 开发 "。
  6. 在 "开发 "页面上,单击要编辑的 API 旁边的菜单图标(三个点),然后单击 " 编辑 API "。
  7. 点击 “测试”选项卡
  8. 在测试页面的横幅中,确保 API 设置为 " 在线 "。 目标配置
  9. 要执行 API 调用,请在 " 请求 "部分下单击 " 发送 "。

    这将测试 API。 响应会显示您定义的状态代码(200)和 API 获取的银行分行数据。

    响应主体
  10. 点击发送至少5次,以便超过规定的发送次数限制。 现在,响应返回状态代码 429 "请求过多",表明您超出了速率限制。响应主体

您在本教程中执行的操作

在本教程中,您完成了以下活动:
  • 已创建了 REST API 定义。
  • 已测试了 REST API。