You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playwright发送POST请求遇422错误:data参数缺失或值为空

问题分析

你遇到的422错误是因为请求体结构和API要求不匹配。对比Postman的请求体可以看到,API期望整个请求体的最外层是一个包含data属性的对象,但你在Playwright代码里,把type、attributes这些字段直接放在了request.post的data参数中,没有在外层再包裹一层data对象,导致API无法识别到所需的data参数。

解决方案

修改Playwright的请求数据结构,把现有内容嵌套到外层的data属性里,和Postman的请求体结构保持一致:

const testSet = await request.post('https://url/sets.json', {
    data: {
        // 新增外层data包裹,和Postman结构对齐
        "data": {
            "type":"sets",
            "attributes":{
               "name":"DuaneDemo",
               "priority":"highest"
            },
            "instances":{
                "test-ids":[obj]
             }
        }
    },
    headers: {
        'PTToken': 'token'
    }
})
const response = await testSet.json();
补充说明
  • 确保[obj]是符合API要求的数组格式(比如和Postman里的字符串ID数组一致),如果obj是单个值,记得用数组包裹。
  • Playwright会自动为JSON格式的POST请求设置Content-Type: application/json头,如果API有特殊要求,可以在headers里显式指定该字段。

内容的提问来源于stack exchange,提问作者D.Hodges

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:33:59