Bug: /api/like/v1/likeaction 发生内部错误时仍返回 200 OK
问题描述
调用点赞接口 /api/like/v1/likeaction 时,接口实际已经发生内部错误,但 HTTP 状态码仍返回 200 OK,与实际执行结果不一致。
从接口响应体来看,本次请求并未成功,返回内容如下:
{"code":5001,"msg":"系统内部错误","data":null}
接口信息
接口路径:/api/like/v1/likeaction
请求方法:POST
实际结果
浏览器 Network 面板显示该请求的 HTTP 状态码为:200 OK
接口响应体返回:
{"code":5001,"msg":"系统内部错误","data":null}
预期结果
当接口发生系统内部错误、服务异常或未正常完成请求处理时,应返回对应的 HTTP 异常状态码,而不是 200 OK。
问题影响
-
当前接口状态码与实际执行结果不一致,可能带来以下问题:
-
前端或调用方可能基于 HTTP 200 误判请求成功
-
前端错误处理逻辑可能无法按预期触发
-
接口监控、失败率统计、告警识别可能不准确
-
联调和问题排查成本增加,容易出现“看起来成功,实际失败”的混淆
-
不符合常见 HTTP 状态码语义约定,不利于接口规范统一
建议行为
HTTP 状态码返回 500
响应体中保留具体业务错误码和错误信息,便于前端处理和问题排查
Bug:
/api/like/v1/likeaction发生内部错误时仍返回 200 OK问题描述
调用点赞接口
/api/like/v1/likeaction时,接口实际已经发生内部错误,但 HTTP 状态码仍返回200 OK,与实际执行结果不一致。从接口响应体来看,本次请求并未成功,返回内容如下:
{"code":5001,"msg":"系统内部错误","data":null}接口信息
接口路径:
/api/like/v1/likeaction请求方法:
POST实际结果
浏览器 Network 面板显示该请求的 HTTP 状态码为:
200 OK接口响应体返回:
{"code":5001,"msg":"系统内部错误","data":null}预期结果
当接口发生系统内部错误、服务异常或未正常完成请求处理时,应返回对应的 HTTP 异常状态码,而不是
200 OK。问题影响
当前接口状态码与实际执行结果不一致,可能带来以下问题:
前端或调用方可能基于 HTTP 200 误判请求成功
前端错误处理逻辑可能无法按预期触发
接口监控、失败率统计、告警识别可能不准确
联调和问题排查成本增加,容易出现“看起来成功,实际失败”的混淆
不符合常见 HTTP 状态码语义约定,不利于接口规范统一
建议行为
HTTP 状态码返回
500响应体中保留具体业务错误码和错误信息,便于前端处理和问题排查