模拟行为 | Qlik Cloud帮助
跳到主要内容 跳到补充内容

模拟行为

本部分描述了模拟如何处理 API Designer 中可用的各种 API 定义元素。

模拟主要为符合 API 契约的请求提供静态响应。它们在响应请求时,不会考虑 API 上定义的任何安全性、请求有效负载或请求标头(用于内容协商的 Accept 标头除外)。

发出请求时,模拟会根据用户提供的内容(示例、默认值、枚举值)或使用内置示例值创建响应。

例如,如果请求返回一个对象,则在提供了该对象示例的情况下会使用该示例。如果没有提供,则使用每个属性上的示例,并据此创建一个 JSON 对象。这也适用于响应标头。

响应

  • 如果您的操作仅具有响应范围,则返回该范围内的第一个状态。例如,具有 2XX 响应范围的操作将返回 200 响应。
  • 如果您的操作具有特定的响应代码和响应范围或默认响应,则返回定义的代码。例如,具有 201 响应和 3XX 响应范围的操作将返回 201 响应。
  • 如果您的操作具有多个响应范围且未定义响应状态,则返回第一个范围的第一个状态。例如,具有 4XX5XX 响应范围的操作将返回 400 响应。
  • 如果您的操作仅具有默认响应,则返回的响应取决于操作方法:
    • 如果使用的方法是 POST,则返回 201 响应。
    • 对于其他方法,如果未定义响应正文,则返回 204 响应;如果定义了响应正文,则返回 200 响应。
  • 如果您的操作没有定义的响应,则返回 200 响应。
  • 1XX 响应不受模拟支持。如果操作具有 1XX 响应范围或在此范围内定义了响应代码,则返回 404 响应。

组合

  • All of:如果定义了示例,则返回该示例。如果未为数据类型定义示例,则合并类型的属性,并使用在属性级别定义的示例或生成示例值。如果在不同类型中两次定义了某个属性,则仅保留最后一个值。丢弃基元类型,仅返回对象。
  • Any ofOne of:如果定义了示例,则返回该示例。如果未定义示例,则从列表中的第一个类型生成响应。

限制

  • Available in request only:该属性将从生成的示例中排除。
  • Available in response only:该属性将包含在生成的示例中。
  • Available in request and response:该属性将包含在生成的示例中。

在数据类型级别提供的示例优先于属性。如果定义为 Available in request only 的属性包含在示例中,则它将在响应中返回。如果定义为 Available in response onlyAvailable in request and response 的属性未包含在示例中,则它不会在响应中返回。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!