使用 API 时,了解如何随请求发送各种类型的数据非常重要。Apidog 提供了一个用户友好的界面,帮助你使用不同的参数和主体数据类型来构建并发送 API 请求。参数允许你向服务器发送额外信息。Apidog 支持两种主要类型的参数:Query params 和 Path params。Query Params#
查询参数会追加到 URL 末尾的问号(?)之后,并使用与号(&)分隔。它们用于向服务器发送可选或额外数据。在 Apidog 中,你有两种便捷方式可以为 API 请求添加查询参数:1.
直接在 URL 中添加:你可以直接将查询参数追加到地址栏中 URL 的末尾。例如:https://api.example.com/users?page=1&limit=10
2.
使用 Query Params 区域:Apidog 在 URL 输入字段下方提供了专门的 Query Params 区域。你可以在此处通过用户友好的界面添加、编辑和移除查询参数。你在此区域添加的参数会自动追加到请求 URL 中。
Query Params 中的等号#
在一些特殊情况下,查询参数可能不会以键值对的形式出现。例如,请求 URL 可能是:https://api.example.com/users?available
在这种情况下,available 可以作为一个值为空的参数。当值为空时,Apidog 会自动省略键和值之间的等号。如果你不想省略这个等号,可以手动将其更改为“添加等号”。Path Params#
路径参数是 URL 路径本身的一部分,通常用于标识某个特定资源。它们由 URL 中的占位符表示,通常用花括号 {} 包裹。https://api.example.com/users/{userId}
在 Apidog 中,你可以像上面所示在 API URL 中定义路径参数,它们会显示在下方的路径参数区域中。你可以在路径参数区域填写路径参数的值;发送请求时,{param} 会被替换为实际值。这个功能在测试使用 URL 中资源标识符的 RESTful API 时尤其有用。如果你需要在路径参数中使用变量,推荐的方式是先在 URL 中使用 {param},然后在该 param 的值中使用 {{variable}}。
请求主体用于在 POST、PUT 或 PATCH 请求中将数据发送到服务器。Apidog 支持多种主体数据格式,以满足不同的 API 需求。主体类型对比#
| 主体类型 | Content-Type | 使用场景 | 文件上传支持 |
|---|
| form-data | multipart/form-data | 带文件的表单提交 | ✓ 是 |
| x-www-form-urlencoded | application/x-www-form-urlencoded | 简单表单提交 | ✗ 否 |
| JSON | application/json | 结构化数据交换 | ✗ 否 |
| XML | application/xml | 旧系统、SOAP API | ✗ 否 |
| raw | 自定义(text/plain 等) | 自定义数据格式 | ✗ 否 |
| binary | application/octet-stream | 文件上传、二进制数据 | ✓ 是 |
| GraphQL | application/json | GraphQL 查询/变更 | ✗ 否 |
| msgpack | application/msgpack | 高性能数据传输 | ✗ 否 |
Form-data 是一种发送键值对的方式,类似于提交 HTML 表单。当你需要在上传文件的同时发送其他数据时,这种格式尤其有用。form-data 类型的主体会在请求中显示为 multipart/form-data。对于主体中的每个参数,你都可以选择其类型,例如 string、integer 等。在 form-data 中发送 JSON:如果你需要在 form-data 中发送 JSON,需要将参数类型设置为 string,然后在字符串字段中填写 JSON。发送文件:如果你需要在请求中发送文件,请选择 file 类型,然后点击“上传”来选择本地文件。Apidog 只会在请求中发送文件,但不会将文件保存到云端。因此,在团队协作期间,其他人可以看到此请求,但无法直接发送此文件。你需要通过其他方式将此文件传给同事,他们才能发送它。
这种格式类似于查询参数,但会在请求主体中发送。它通常用于提交不包含文件上传的简单表单。在 Apidog 中,你可以使用键值界面轻松添加和编辑 x-www-form-urlencoded 数据。JSON#
JSON 是一种广泛用于 API 请求和响应的数据格式。你可以在端点的 Request → Body → JSON 区域设计数据结构。手动添加字段时,默认数据类型为 string。如果你需要添加嵌套字段,请将字段类型更改为 object 或 array。如果你希望在 JSON 中添加注释,可以在 Settings → General settings → Feature settings → Advanced settings 中启用“JSON with comments support”。发送 JSON 时,这些注释会被自动移除。
XML#
XML(eXtensible Markup Language)是 API 通信中使用的另一种常见数据格式。Apidog 支持 XML 负载,允许你在 API 请求中以 XML 格式发送结构化数据。raw#
raw 选项允许你在请求主体中发送任意自定义数据格式。当使用的 API 需要其他选项未涵盖的特定数据结构或格式时,这会很有用。binary#
可以使用此选项发送二进制数据,这在上传文件或使用需要二进制负载的 API 时尤其有用。Apidog 允许你选择并发送二进制文件,作为 API 请求的一部分。GraphQL#
对于使用 GraphQL 的 API,Apidog 提供了专门的 GraphQL 编辑器。此功能允许你构建并发送 GraphQL 查询和变更,并提供语法高亮和自动补全。请查看 Apidog 中的 GraphQL 文档,了解有关使用 GraphQL API 的更多信息。
msgpack#
MessagePack(msgpack)是一种二进制序列化格式,比 JSON 更紧凑且速度更快。Apidog 支持发送 msgpack 数据,这在使用针对性能和减少数据传输进行优化的 API 时非常有益。