电脑世界
霓虹主题四 · 更硬核的阅读氛围

API接口错误代码含义:看懂404、500、401这些数字到底在说啥

发布时间:2026-04-15 05:30:29 阅读:2 次

你是不是也遇到过这样的情况:写个小程序调第三方天气API,返回一个 403 Forbidden,一脸懵;或者网页登录时突然弹出 429 Too Many Requests,刷新三次全卡住。别急着重装SDK——这些数字不是系统抽风,而是API在用“黑话”跟你对话。

错误码不是乱编的,是HTTP定的规矩

绝大多数Web API基于HTTP协议,错误码就是HTTP状态码。它由三位数字组成,第一位代表大类:
• 4xx 表示“你那边出问题了”(客户端错误)
• 5xx 表示“我这边崩了”(服务器错误)
• 2xx 是成功(比如200 OK),3xx 是跳转(比如302 Found),咱们今天专盯报错的那俩。

高频错误码速查表(附真实场景)

400 Bad Request
请求格式不对。比如你往用户注册接口传了个空邮箱,或JSON少了个逗号:

{"name": "张三", "email": ""}
后端校验失败,直接甩回400。

401 Unauthorized
没带身份凭证,或token过期了。就像去公司刷门禁卡,卡丢了或没续费,闸机不抬杆。常见于调微信开放平台接口时忘记加 Authorization: Bearer xxx 头。

403 Forbidden
你有证,但没权限。比如普通用户试图访问管理员后台接口,服务器认出你是谁,但摇头:“这屋不给你进。”

404 Not Found
地址错了。不是服务器挂了,是你请求的URL压根不存在——可能是拼错了路径,比如把 /api/v1/users 写成 /api/v1/user(少个s),也可能对方已下线该接口。

429 Too Many Requests
你刷太猛了。免费版高德地图API每秒最多调10次,第11次就返429。不少App在做批量导出时卡在这儿,得加个 sleep(1) 控制节奏。

500 Internal Server Error
服务器自己翻车了。可能是数据库连不上、PHP脚本报了未捕获异常,或者Python里写了 1/0。这时候别瞎改请求,等对方修复更实际。

502 Bad Gateway / 504 Gateway Timeout
常出现在用了Nginx或CDN的场景。比如你调的是某电商平台API,它背后还连着库存服务和支付服务,其中一环超时或崩了,网关就扔个502出来——问题不在你,也不在主站,而在它的某个下游模块。

怎么快速定位?三步走

1. 看响应头里的 Status 字段(浏览器开发者工具Network页签里点请求就能看到);
2. 检查响应体是否带了 errormessage 字段(很多API会在400/401里附带中文提示);
3. 对照文档。比如Stripe的API明确写清了每个错误码对应的具体原因,比干猜强十倍。

下次再看到红字报错,先别急着重启IDE——花10秒扫一眼状态码,往往比翻三天日志更快找到病根。