MongoDB检测到重复键错误时,REST API推荐使用的HTTP状态码是什么?
REST API中MongoDB重复键异常的推荐HTTP状态码
当MongoDB检测到重复键错误(例如违反唯一索引约束)时,REST API推荐返回409 Conflict状态码。
核心原因:
- HTTP 409的语义是请求与服务器当前的资源状态发生冲突,重复键场景完全贴合这一定义:客户端尝试创建或更新的资源,其唯一标识字段(如用户名、邮箱)已存在于数据库中,与现有数据状态产生冲突。
- 相较于400 Bad Request这类泛用性错误码,409能更精准地传递错误本质,让客户端明确知道问题出在资源重复,而非请求格式、参数等其他问题。
- 返回时可在响应体中补充具体错误信息,帮助客户端快速定位问题,示例如下:
{ "error": "Duplicate key violation", "message": "The username 'john_doe' has already been registered." }
内容的提问来源于stack exchange,提问作者Nipuna Jayawardana
相关产品推荐
相关产品推荐

