配置Chainlink异步Bridge任务后回调返回HTTP 422错误,求解决
解决Chainlink异步Bridge回调422错误的可能原因及修复方案
核心问题:请求体缺少必填字段
Chainlink异步回调的PATCH请求必须在顶层包含jobRunID字段,这个ID对应你收到的responseURL中的{id}部分(即任务的外部Job ID)。你的当前请求体仅包含data,缺少该必填字段,这是导致422错误的直接原因。
修正后的请求体示例
{ "jobRunID": "你的responseURL中的{id}值", "data": { "fileList": ["aaa...fff", "bbbb...vvvv"], "hashList": ["0x...", "0x..."] } }
其他需要检查的点
- 请求头配置:确保PATCH请求的
Content-Type设置为application/json,否则节点无法正确解析请求体。 - BRIDGE_RESPONSE_URL有效性:确认该环境变量配置的是Chainlink节点可被外部适配器访问的完整URL(需包含http/https协议,例如
https://your-oracle-node.com),不能仅填写IP或域名。 - 数据格式一致性:检查
hashList中的哈希值是否符合Chainlink任务后续步骤的格式要求(比如是否为有效的十六进制格式,前缀0x是否正确)。
内容的提问来源于stack exchange,提问作者chicco.caste21
相关产品推荐
相关产品推荐

