在 Insomnia 中发送 POST 请求其实并不复杂,关键在于掌握几个核心步骤。很多新手开发者遇到 400 或 500 错误,十有八九是 Content-Type 设置不正确、Body 格式选错,或者参数填写有误——最容易被忽视的是漏掉了协议头(https:// 或 https://),Insomnia 不会自动帮你补全。

下面按照三种常见场景,一次性讲清楚具体配置方法。
发送 JSON 格式的 POST 请求
这是最常用的场景,涵盖 RESTful API 调用、资源创建和结构化数据提交。后端通常要求 Content-Type 为 application/json,且请求体必须是合法的 JSON 字符串。
第一步:点击左上角“+”号 → 选择“New Request” → 确保顶部请求方法显示为【POST】。
第二步:在 URL 输入框中填写完整地址,例如 https://api.example.com/users。注意:协议(https:// 或 https://)一个字母都不能少,缺少会直接导致请求失败。
第三步:切换到 Headers 标签页 → 点击“Add Header” → Key 填写 Content-Type,Value 填写 application/json。这一步不能省略,否则后端很可能会拒绝接收。
第四步:进入 Body 标签页 → 左侧下拉选择 JSON → 在编辑框中输入标准 JSON,例如 {"name":"张三","age":28}。特别提示:双引号必须使用英文半角,末尾不能有多余逗号。
第五步:点击右上角“Send”,观察响应状态码。如果是 201 或 200,表示成功。如果返回 400,应优先检查 JSON 语法——Insomnia 右侧会高亮标出错误位置,按提示修改即可。
发送表单数据(x-www-form-urlencoded)
该模式模拟传统 HTML 表单提交,常用于登录、注册等场景。后端一般通过 body-parser.urlencoded 中间件来解析。
方法一:直接填写键值对
① 新建 POST 请求,输入目标 URL(例如 https://api.example.com/login);
② 切换到 Body 标签页 → 选择 Form URL Encoded;
③ 点击“Add Parameter”,依次填入 username → admin,password → 123456;
④ 发送前确认 Headers 标签页中没有手动设置 Content-Type——Insomnia 会自动注入 application/x-www-form-urlencoded,手动设置反而可能引发问题。
方法二:从已有请求快速复制
右键已经配置好的表单请求 → 选择 Duplicate → 修改 URL 或参数即可复用,无需从头重新配置。
发送含文件的 POST 请求(multipart/form-data)
头像上传、附件提交等场景必须使用 Form Data 模式。Raw 模式或 JSON 模式无法正确构造多部分边界,会导致文件传输失败。
① 在 Body 标签页中选择 Form Data;
② 输入文本字段:Key 填写 title,Value 填写“年度报告”;
③ 输入文件字段:Key 填写 file,Value 所在行右侧点击 File 按钮 → 从本地选择 report.pdf;
④ 发送时 Insomnia 会自动生成 boundary 并设置 Content-Type 为 multipart/form-data。不要手动添加 Content-Type 头,否则边界冲突会导致后端解析混乱。
