测试自定义 API

Oracle Mobile Hub 中,您可以使用模拟数据在部署自定义 API 之前对其进行测试。您还可以使用支持两种模式的测试页面测试 REST 连接器:标准测试和高级测试。

测试 Oracle Mobile Hub 定制 API

要直接从 Oracle Mobile Hub 测试自定义 API,请执行以下操作:

  1. 登录 Oracle Mobile Hub
  2. 单击菜单图标,然后展开开发,然后单击后端
  3. 选择移动后端,然后单击打开
  4. 单击左侧导航栏中的设置
  5. 环境 URL 下的 SSO 标记端点复制 URL。
  6. 将复制的 URL 粘贴到 Web 浏览器窗口中,但不要按 Enter 键。
  7. 复制位于 OAuth 使用者部分下的客户端 ID。
  8. 将查询字符串参数添加到您在 Web 浏览器中以 ?clientID=[YourClientID] 形式粘贴的 SSO 令牌端点 URL,然后按 Enter 键。URL 示例如下所示:
    https://<YourSSOTokenEndpointURL>?clientID=<yourClientID>
    浏览器将显示一次登入 OAuth 标记。
  9. 在移动后端窗口中,单击左侧导航中的“API”页。浏览器将从设置页更改为 API 页。
  10. 单击选择 API
  11. 单击要测试的 API 名称。此时将打开一个新页面,其中显示左侧导航以及请求响应选项卡上的 API 端点。
  12. 单击要测试的端点。
  13. 验证部分下,从验证方法中选择单点登录令牌
  14. 复制 SSO OAuth 标记并将其粘贴在单点登录标记字段中。
  15. 单击测试端点。如果一切正确,服务器响应状态为 200,您应在响应中看到 JSON 数据。

使用模拟数据测试 API 端点

在 API 配置的设计阶段,您可以在请求和响应消息主体中提供模拟数据。这使您可以检查每个调用的上下文,而不必使用实时数据或与实时服务交互。例如,要测试代码是否正确处理无效 ID,可以在请求正文中添加包含无效 ID 的模拟数据的示例。完成测试后,可以将示例替换为其他代码以测试方法的某个其他方面。

在 FixItFast 示例中,通过响应正文中的模拟数据,您可以验证是否返回了正确的客户信息。以下是服务开发人员可以为 FixItFast 示例中 contact 资源的 POST 操作的响应正文创建的模拟数据示例:
{
 "id": 20934,
 "title": "Lynn's Leaking Water Heater",
       "contact": {
       "name": "Lynn Adams",
       "street": "45 O'Connor Street",
       "city": "Ottawa",
       "postalcode": "ala1a1"
       "username":"johneta"
       }
 "status": "new",
 "driveTime": 30,
 "priority": "high",
 "createdon": "2015-04-23 18:12:03 EDT"
}

创建定制 API 时,会自动创建模拟实施。通过模拟实施,您可以在实施自定义代码之前从移动应用调用 API。这使您可以同时开发和测试移动应用程序和自定义代码。如果您对配置感到满意,可以添加真正的实施。

在创建第一个实施之前,默认实施是模拟实施。创建实际实施后,它将成为 API 的默认实施。

单击实施导航链接可上载实施或查看任何现有实施。您可以在“实施”页上更改默认实施。上载实施后,您将看到现有实施的列表,其中包括模拟实施。

测试 REST Connector API

现在,您已定义了 REST 连接器 API 并保存了配置,您需要验证是否能够发送请求并从 Web 服务接收预期结果。测试连接是可选步骤,但可以通过在完成连接器 API 之前立即识别并修复问题来节省时间。使用“测试”页可以一次测试一个端点。

如果提供了描述符,则有两种测试模式可供选择:

  • 标准测试

    如果提供了描述符元数据,则会显示标准测试模式,其中请求和响应主体是从描述性元数据生成的,并显示在请求响应选项卡中。您只需为 GET 方法选择要测试的参数,并包含要测试的任何 HTTP 标头。

  • 高级测试

    您可以通过选择高级模式测试来细化测试(如果提供了远程服务 URL,则输入测试模式)。没有描述性元数据,您可以选择要测试的方法和资源,包括要包含的任何 HTTP 标头,以及手动创建 JSON 正文。

在高级模式下测试

使用高级测试页可以手动设置路径参数、添加标头以及请求和响应有效负载。

要手动配置连接器测试,请执行以下操作:

  1. 单击测试导航链接。
  2. 如果提供了描述符,请将高级模式下的测试转换为 On

    如果您提供了远程服务 URL,则会自动显示高级测试页。

  3. 从下拉列表中选择要测试的 HTTP 方法。
  4. 根据需要,在 "Local URI" 字段中指定用于测试的任何资源路径参数。例如:
    directions/json?origin=los+angeles&destination=seattle

    该字段将自动添加您在输入 API 名称时定义的本地 URI 前缀。在我们的示例中,字段的完整内容如下所示:

    myMapAPI /directions/json?origin=los+angeles&destination=seattle

    请注意,如果定义了任何规则,“已应用的规则”字段(在“正文”字段下方)将显示与适用于所选操作的规则对应的编号。"Remote URL"(远程 URL)字段显示将传递给测试服务的确切字符串。

  5. 根据需要添加一个或多个请求或响应 HTTP 标头。

    这些标头仅供测试使用,不会添加到 REST 连接器 API 配置中。

  6. 单击 HTTP 正文字段可在源编辑器中创建消息正文(有效负载)。
    例如:
    {
      "status":"ZERO_RESULTS",
      "routes":[ ]
    }

    保持消息正文的内容与连接器的目的相关,也就是说,不要通过添加无关数据来膨胀消息。仅在消息正文中包括相关数据有助于快速传输请求或响应。

  7. 如果要连接到的服务需要验证,请打开验证部分,并为所测试的每个方法输入移动用户凭证。如果您使用的是默认测试身份证明,则可以跳过此步骤。

    使用基于 SAML 的安全策略,调用用户的身份将传播到外部服务。对于其他安全策略,例如 HTTP 基本验证和用户名令牌,用于通过外部服务进行验证的身份证明在策略覆盖中作为 CSF 密钥提供。根据您定义的操作,您可能必须为每个操作输入特定的身份证明,或者您可能能够为所有方法使用一组身份证明来验证连接器与服务。

  8. 单击另存为当前移动后端默认身份证明可将您提供的用户名和密码保存为默认值。
  9. 如果您处于创建连接器的设计阶段,并且只想查看端点是否有效,请单击默认 API 设计器测试身份证明,然后选择注册到的移动后端及其版本号。
    (可选)您可以输入移动用户凭据(用户名和密码)。

    这些默认测试身份证明在您测试的所有方法中都是持久性的。它们在当前移动中心会话期间仍然有效。

  10. 单击测试端点

    测试端点在单击时切换到取消测试。如果要因任何原因停止测试,请单击取消测试

    单击重置可清除字段并修改测试参数。

  11. 完成端点测试后,单击完成