","param":"","code":"invalid_request_error"}

2026年10月13日 09:43 8.50 秒 success

错误信息

422: {"message":"Failed to deserialize the JSON body into the target type: messages[0].role: unknown variant `developer`, expected one of `system`, `user`, `assistant`, `tool`, `latest_reminder` at line 1 column 57 (request_id: 5bc6eded-65cf-4b92-9b98-fe982c98a450)","type":"invalid_request_error","param":"","code":"invalid_request_error"}

AI 解决方案

原文:422: {"message":"Failed to deserialize the JSON body into the target type: messages[0].role: unknown variant `developer`, expected one of `system`, `user`, `assistant`, `tool`, `latest_reminder` at line 1 column 57 (request_id: 5bc6eded-65cf-4b92-9b98-fe982c98a450)","type":"invalid_request_error","param":"","code":"invalid_request_error"}
译文:422:{"message":"将JSON正文反序列化为目标类型失败:messages[0].role: 未知变体`developer`,应为以下之一`system`、`user`、`assistant`、`tool`、`latest_reminder`,位于第1行第57列(request_id: 5bc6eded-65cf-4b92-9b98-fe982c98a450)","type":"invalid_request_error","param":"","code":"invalid_request_error"}

🎯原因分析


API要求messages数组中role字段只能是指定枚举值,但请求里使用了未定义的developer角色,导致数据反序列化失败。错误发生在请求体JSON的messages[0].role字段处。

💡解决方案


将role字段值从developer改为允许的合法值,例如system(表示系统指令):

// 修复后的请求体
{
  "messages": [
    {
      "role": "system",  // 替换为合法的系统角色
      "content": "你的系统指令内容..."
    },
    {
      "role": "user",
      "content": "用户提问内容..."
    }
  ]
}

🛡️预防措施


  • 提交请求前,严格对照API文档核对枚举字段的合法值,可封装参数校验函数统一检查。

  • 使用支持JSON Schema校验的工具(如Postman、VSCode插件),提前捕捉字段值错误。