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

SwiftUI中用Alamofire调用OpenAI API遇400错误,拟转后端

OpenAI API 400错误原因分析(SwiftUI + Alamofire场景)

既然你用cURL测试能正常返回结果,说明API Key和接口本身没问题,错误肯定出在Swift代码的请求构造与cURL的差异上,常见原因有这些:

  • 请求参数问题

    • 参数键名拼写错误:比如把必填的prompt写成question,或者max_tokens、temperature这类参数名写错,OpenAI接口对参数名的大小写和拼写匹配严格
    • 参数类型不匹配:比如temperature要求传0-2之间的浮点数,你代码里传了整数;max_tokens必须是整数,要是传了字符串类型就会触发400
    • 缺少必填参数:prompt是接口的必填项,要是代码里没正确传递这个参数,或者参数值为空,接口直接返回400
  • 请求头配置错误

    • API Key格式不对:cURL里是Authorization: Bearer sk-xxx,Alamofire里要是漏了Bearer 前缀,或者前缀和Key之间没加空格,就会导致身份验证不通过,返回400
    • Content-Type设置错误:必须设置成application/json,要是代码里用了application/x-www-form-urlencoded或者没设置这个头,接口无法解析JSON格式的请求体,就会报错
  • 请求体序列化方式错误
    Alamofire默认的参数编码可能不是JSON格式,比如你用了URLEncoding.default而不是JSONEncoding.default,导致请求体是表单格式而非JSON,接口识别不了,自然返回400

  • 接口路径拼写错误
    虽然你说用的是正确的接口地址,但要检查代码里有没有拼写失误,比如把engines写成engine,或者completions少写了字母,这类低级错误也会导致400

内容的提问来源于stack exchange,提问作者Refluent

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:45:11