目前,大多数 API 都基于 method 和 path 进行区分。但是,一些开发项目(例如某些电商 API 文档)会为 API 请求使用固定 URL,并通过 Query / Header 中的参数来区分 API。在 2.2.9 版本之后,Apidog 增加了 端点唯一标识 功能,支持使用 OperationId、Query 参数、Body 参数 和 Header 参数 作为区分 API 的参数。设置端点唯一标识#
端点唯一 ID 在 目录 级别定义。当你需要将某个 API 设置为唯一标识时,需要在其 父目录 中进行设置。点击目录,根据你的需求选择唯一标识参数,点击保存后,它将对该目录下的所有 API 生效。在此示例中,我们将选择 Query 参数,并在参数名称中填写 OperationID。填写对应的参数值#
为目录设 置端点唯一标识后,点击该目录下的某个 API,点击 operationid 标签页。在 API 底部的基本信息和请求参数中,都有一个 K 图标,表示该参数是 端点唯一 ID 的参数。你可以在对应参数下输入相应的值,作为端点唯一标识的值。使用唯一标识导入#
如果你的项目中使用 Query/Header 中的参数来区分 API,并将 OpenAPI 格式文件导入到 Apidog 中,将会出现以下页面。导入时匹配 API 的规则以目标目录的设置为准。如果目标目录中的 端点唯一标识设置不符合要求,你可以在导入设置中进行修改。修改后,它将直接对目标目录生效。例如,我们将导入此目录,并为其创建端点唯一 ID,使用 Query Param,并将其 Param Name 命名为 action。请记住,如果你的目录已经有唯一 ID,新的导入无法覆盖它。
1.
在 Query 参数中使用过 Fixed Value 的用户无需担心,因为此功能仍会保留。但是,导入时 Fixed Value 是基于 URL 进行判断的,因此建议使用过 Fixed Value 的用户改用端点唯一标识。
3.
如果你的目录中只有某个子目录设置为 端点唯一标识,在导入 Swagger 并更新所有目录时,请避免将所有项目导入到根目录进行更新。建议将设置为 端点唯一标识 的 API 单独导入到该特殊目录中。
模拟数据#
从 2.2.24 版本开始,如果 API 已将 唯一标识符 设置为 Body Parameter 或 Header Parameter,则需要发送 path + 唯一标识符的参数名称和值 才能获取对应的 Mock Data。1.
在开发过程中访问 Mock Data 时,如果 API 已将 唯一标识符 设置为 Body Parameter 或 Header Parameter,前端开发者也需要发送 path + 唯一标识符的参数名称和值。
2.
对于 API 具有 唯一标识符 的项目,需要规范 API 文档,以避免出现 API 拥有相同 URL 但未设置 唯一标识符 的情况。这是为了避免无法正确获取 Mock Data。