400 event:error data:{"code":"InvalidParameter","message":"Request body format i...

2026年05月29日 14:21 21.92 秒 success

错误信息

⎿  API Error: 400 event:error data:{"code":"InvalidParameter","message":"Request body format invalid","request_id":"315a79da-33c9-9995-87ff-4177117e407f"}

AI 解决方案

🔍 错误分析报告

1. 🌐 错误翻译


原文:Request body format invalid
译文:请求体格式无效

2. 🎯 原因分析


错误的核心在于您发送给API的 请求体(Body)格式 不符合其要求。
  • 直接原因:请求体很可能不是一个有效的JSON字符串,或者JSON中的字段名称、数据类型、结构与API文档所定义的格式不符。

  • 常见场景:手动拼接JSON字符串时出现语法错误(如多余/缺少的逗号、括号、引号),或者使用了API不接受的字段名或值。
  • 3. 💡 解决方案


    请检查并修正发送请求前的代码。以下是一个通用的检查与修复示例:

    错误示例(假设)

    import requests
    import json
    
    # 错误:手动拼接的JSON字符串缺少逗号,且值类型错误
    incorrect_body = '{"model": "claude-3" "messages": [{"role": "user", "content": 123}]}'
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, data=incorrect_body, headers=headers)
    

    修复后的代码

    import requests
    import json
    
    # 正确做法:使用字典构建,由json.dumps()自动序列化为正确格式
    data = {
        "model": "claude-3",  # 请确认字段名和值是否与API要求一致
        "messages": [
            {"role": "user", "content": "Hello!"}  # 请确认‘content’字段要求的值类型(通常是字符串)
        ]
    }
    
    headers = {'Content-Type': 'application/json'}
    # 使用json.dumps()将字典转为JSON字符串
    response = requests.post(url, data=json.dumps(data), headers=headers)
    # 或者更简洁地,直接使用requests的json参数(它会自动处理序列化和头部设置):
    # response = requests.post(url, json=data)
    

    4. 🛡️ 预防措施


  • 使用工具校验:在发送前,使用在线的 JSON校验工具 或在代码中使用 json.dumps() 时捕获 json.JSONDecodeError 异常来检查JSON格式。

  • 严格参照文档:发送前,务必再次核对API文档中关于请求体字段的 名称、数据类型(字符串、数字、布尔值、数组、对象)和必填性

  • 使用序列化库:优先使用编程语言内置的JSON库(如Python的 json 模块)来构建和序列化请求体,避免手动拼接字符串。