Postman 中 POST 请求 Body 类型详解
自动高亮语法、格式化查询适用场景:与 GraphQL 服务端交互(如 Apollo Server、Hasura)
Postman 中 POST 请求 Body 类型详解
在 Postman 中使用 POST(或 PUT/PATCH)方法时,Body 选项提供了多种数据传输格式。选择合适的类型,对 API 调试至关重要。以下是六种 Body 类型的详细对比与使用场景。
1. None
描述:不发送请求体(Request Body)。
适用场景:
·请求无需携带任何数据(如某些幂等性 POST 接口)
· 仅通过 URL 参数或 Headers 传递信息
示例:POST /api/refresh-token(仅靠 Cookie 或 Header 鉴权)
2. form-data
Content-Type:multipart/form-data
描述:将数据分块(multipart)传输,每部分可包含文本或二进制文件。
特点:
· 支持 文件 + 文本混合上传
· 每个字段独立声明 Content-Disposition
· Postman 提供图形化表单界面(Key/Value + File 选择)
适用场景:
· 文件上传(图片、视频、PDF 等)
· 表单中同时包含文本字段和文件字段
示例请求体结构:
POST /upload HTTP/1.1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="avatar"; filename="me.jpg"
(Content-Type: image/jpeg)
<binary data>
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="userId"
12345
------WebKitFormBoundary7MA4YWxkTrZu0gW--
3. x-www-form-urlencoded
Content-Type:application/x-www-form-urlencoded
描述:以 URL 查询字符串格式编码键值对。
特点:
·数据格式:key1=value1&key2=value2
· 特殊字符自动 URL 编码(如空格 → +,@ → %40)
· 与 HTML <form> 默认提交方式一致
适用场景:
传统 Web 表单提交(登录、注册、搜索等)
不涉及文件的纯文本表单
示例:
POST /login HTTP/1.1
Content-Type: application/x-www-form-urlencoded
username=admin&password=123456&remember=true
4. raw
描述:发送原始文本数据,支持多种格式。
特点:
·右侧可选择格式:Text / JSON / XML / HTML / JavaScript 等
· Postman 自动设置对应的 Content-Type(如选 JSON → application/json)
· 内容为纯文本,需手动保证语法正确(如 JSON 合法性)
适用场景:
· 调用 RESTful API(最常见为 JSON)
· 发送 XML、自定义文本协议、脚本等
JSON 示例:
POST /api/users HTTP/1.1
Content-Type: application/json
{
"name": "Alice",
"email": "alice@example.com"
}
XML 示例:
POST /api/order HTTP/1.1
Content-Type: application/xml
<order>
<id>1001</id>
<item>Book</item>
</order>
注意:若选择 Text 但内容为 JSON,服务端可能因 Content-Type: text/plain 而解析失败!
5. binary
Content-Type:application/octet-stream(可手动覆盖)
描述:直接上传单个文件的原始二进制内容。
特点:
·一次只能上传 一个文件
· 不添加任何字段名或元数据
· 内容 = 文件的原始字节流
适用场景:
· 上传图片、音频、PDF 等二进制文件
· 接口要求直接接收文件流(如 /upload/avatar)
示例:
选择本地 photo.png → Postman 直接将其二进制内容作为 Body 发送。
6. GraphQL
Content-Type:application/json
描述:专为 GraphQL 设计的请求格式。
特点:
· 提供结构化输入框:QUERY + GRAPHQL VARIABLES
· 实际发送的是 JSON 对象:{ "query": "...", "variables": { ... } }
· 自动高亮语法、格式化查询
适用场景:
与 GraphQL 服务端交互(如 Apollo Server、Hasura)
示例:
POST /graphql HTTP/1.1
Content-Type: application/json
{
"query": "query GetUser($id: ID!) { user(id: $id) { name email } }",
"variables": { "id": "123" }
}
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)