需设置content-type为application/json、body选json类型并输入合法json、启用自动格式化与语法检查、用环境变量动态注入字段值、通过show request验证原始请求体。

如果您在使用 Insomnia 进行 API 测试时需要向服务器提交 JSON 格式的数据,但请求体未被正确识别或返回 400 错误,则可能是请求头未设置或请求体格式不规范。以下是实现 JSON 数据提交的具体操作方法:
一、设置 Content-Type 请求头为 application/json
Insomnia 默认不会自动添加 Content-Type 头,而服务器通常依赖该头部判断请求体是否为 JSON。若缺失此头部,后端可能拒绝解析或返回格式错误响应。
1、在 Insomnia 请求编辑界面,点击“Headers”标签页。
2、点击“Add Header”按钮。
3、在 Key 输入框中输入 Content-Type,在 Value 输入框中输入 application/json。
二、在 Body 中选择 JSON 类型并输入有效 JSON 内容
Insomnia 提供了结构化 JSON 编辑模式,可自动校验语法并高亮显示,避免因格式错误(如末尾逗号、单引号、缺少引号)导致提交失败。
1、切换到“Body”标签页。
2、点击下拉菜单,选择 JSON(而非 “Text” 或 “Form URL-Encoded”)。
3、在编辑区域输入合法 JSON,例如:{"name":"Alice","age":30}。
4、确认右上角无红色波浪线提示——有提示说明 JSON 语法错误,需修正后再发送。
三、启用自动格式化与语法检查
Insomnia 的 JSON 模式内置实时验证功能,启用后可在输入过程中即时发现缩进异常、括号不匹配、键名未加引号等问题,显著降低人为格式失误概率。
1、确保 Body 类型已设为 JSON。
2、在 JSON 编辑区任意位置右键,勾选 Auto-format on paste 和 Show syntax errors。
3、粘贴外部 JSON 后,Insomnia 将自动缩进并对非法字符标红提示。
四、使用环境变量动态注入 JSON 字段值
当需对多个环境(如 dev/staging/prod)提交不同 JSON 参数时,硬编码会导致维护困难。通过环境变量可复用同一请求模板,仅变更具体字段值。
1、点击左下角环境管理图标,创建或选择目标环境。
2、在环境变量中添加键值对,例如:user_id = 12345,api_version = v2。
3、在 JSON Body 中使用双大括号引用,例如:{"id": "{{user_id}}", "version": "{{api_version}}"}。
五、验证 JSON 请求是否成功发送
仅凭状态码 200 不足以确认 JSON 被正确接收;需检查服务器实际接收到的原始请求体,排除客户端序列化或编码干扰。
1、在 Insomnia 中点击右上角“…”,选择 Show Request。
2、查看展开面板中的 Raw Request 区域,确认其中包含完整 JSON 字符串且无转义异常。
3、比对 Content-Length 值与实际 JSON 字符数(含空格和换行),若明显偏小,说明 JSON 未被写入 Body。











