教程:创建代理 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
  5. 从目标服务中选择 ,然后点击下一步

    从目标服务屏幕

  6. 输入以下信息以从目标服务创建 REST API。
    1. 在标题栏中输入 Branches
    2. 名称字段自动填充为 branches
    3. 版本字段保留为 1.0.0
    4. “基本路径 ”字段自动填充为 /branches
    5. 目标服务 URL 字段中,输入 https://sample-api.us-east-a.apiconnect.automation.ibm.com/bank/branches

    基本REST API信息屏幕

  7. 单击下一步
  8. 在“安全”对话框中,确保
    • 使用客户机标识进行保护
    • CORS
    ,然后点击 “下一步 ”。

    安全屏幕

  9. 这样会创建新的 API,并显示“摘要”页面。 单击编辑 API 以继续配置 API。

    新的API摘要

  10. “设计”视图中 ,点击侧边菜单栏中的 “定义 ”,然后点击 “添加 ”。

    “定义”页面

  11. 请输入以下信息, 以对象模式创建新定义。
    1. “模式名称(密钥) ”字段中输入 address
    2. 类型字段中,选择 object
    3. 单击添加
    4. 描述字段中输入 The format of the address object
  12. 单击保存
  13. 新对象的显示方案作为设计视图的一部分显示在定义部分
  14. 要为新的地址对象创建属性,请在 “属性”部分点击 “添加 ”。
  15. 要配置属性,请完成以下步骤:
    1. “姓名”字段 中输入 street1
    2. “类型”字段中,选择 string
    3. 描述字段中添加 The first line of the address
    4. 单击保存
    5. 新的方案属性已创建,现在显示在 “设计”视图“属性”部分。 要完成填写,请点击省略号图标并选择 “详细信息”选项。 转到 “文档”选项卡 ,在 “示例值”字段中添加 4660 La Jolla Village Drive
    6. 单击保存
  16. 按照表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

    地址定义

    备注 :在开发者门户中向开发者提供架构定义,以便他们了解响应中预期的数据类型。
  17. 单击保存
  18. “定义”面板中点击 “添加 ”,创建第二个定义方案。
    1. “模式名称(密钥) ”字段中输入 branch
    2. “类型”栏中 ,选择 object
    3. 单击添加
    4. 描述字段中输入 The format of the branch field
    5. 单击保存
  19. 根据表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 中创建的定义,示例为空。 通过此方式,您可以创建复杂数据结构。

    分支定义

  20. 单击保存
  21. “设计”视图中 ,选择 “路径 ”,点击 “添加”按钮添加新路径。
  22. 路径名称字段中输入 /details
  23. “设计”视图中的 “操作”部分 ,点击 “添加”。
  24. 选择 “获取 ”,然后点击 “添加 ”。

    路径信息

  25. 单击保存。 这将在可用路径列表中显示名为 /details 的新路径。
  26. 点击 /details ,即可编辑路径中的 GET操作
  27. 在“设计”视图中 ,点击 路径 > 操作下的 “获取 ”。
  28. 向下滚动到 “回复”部分 ,然后编辑回复内容,如下所示:
    1. 200 作为名称(密钥 )。
    2. 描述字段编辑为 200 OK
  29. 单击保存
  30. 在页面横幅中,点击 “首选项” 设置按钮
    在“首选项”对话框中,进行以下设置:
    1. 将自动发布设置为开启
    2. 设置目标产品费率限制
      1. 单击编辑
      2. 在“选择速率限制”对话框中,选择 “自定义 ”。
      3. 将通话次数设置为 每小时 5次
      4. 点击 “选择速率限制 ”。
    3. 在“首选项”对话框中,点击 “保存首选项 ”。
  31. 点击 “保存” 更新API。

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

测试 REST API

备注: 由于跨源资源共享(CORS)的限制,在 macOS Catalina平台上,Chrome或Safari浏览器无法使用装配测试工具。
要测试 REST API,请完成以下步骤。
  1. 在“开发”页面中,点击API进行编辑。
  2. 点击 “测试”选项卡
  3. 在测试页面的横幅中,确认API是否设置为“在线”。 测试选项卡
  4. 点击请求部分的发送 ,执行API调用,测试API。 响应显示您定义的状态代码(200)和API检索到的银行分行数据。 响应页面
  5. 点击发送至少5次,以便超过规定的发送次数限制。 现在,响应返回状态代码429“请求过多”,表示您超出了速率限制。 正文标签

您在本教程中执行的操作

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