# 使用 API 模拟生成响应

启用 API 模拟后，即可立即使用。

API mock 会尽可能真实地响应其接收到的任何调用。在生成响应体时，Mock 将优先采用用户提供的数据，依次查找 example 字段、默认值，最后是 enum 字段。如果找到，它将被用作示例；否则，将根据所调用操作返回的数据类型生成一个 JSON 示例。

例如，请参考以下所示的 Company 数据类型定义。它不包含任何用户提供的示例。

![无示例的 Company 数据类型定义。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/datatype.png)

当启用模拟时，对 /company/{companyId} 资源发起的 GET 调用将根据数据类型的结构返回自动生成的 JSON 响应。

Mock 做了许多有趣的事情，包括为自定义响应头（例如 x-my-custom-header）生成值、识别数组并创建相应的示例（例如 tags 属性），以及识别嵌套结构并同样为其生成值（例如 address 属性）。

API 契约 mock 支持内容协商，因此您可以使用 Accept 请求头在多个选项中选择应返回的响应体（每个选项都可能包含各自的示例），从而更改 mock 返回的示例。

![联系人示例。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/content-nego-example.png)

信息注释注意：调用 API mock 时，响应标头名称的大小写可能会发生更改。这应该不会破坏任何功能，因为 HTTP 标头名称是不区分大小写的。