必填非空参数传入空值时应返回的HTTP错误码是什么
问题描述
示例:
POST方法请求体:
{ "name": "", "id": 1, "class": 4 }
其中name是不允许为空的必填参数,若在POST/PUT请求调用中传入该空值参数,这类数据的响应应该返回什么错误码?
解答
- 通用场景优先返回
400 Bad Request:这是最常用的客户端请求错误状态码,语义覆盖请求参数不符合要求、参数缺失、格式错误等场景,完全适配必填字段传空值的情况。 - 如果你的接口严格遵循RESTful规范,也可以返回
422 Unprocessable Entity:该状态码的语义是服务器可以正常解析请求体的内容类型,但是请求体中的逻辑内容无法通过校验,和「字段值不符合业务规则」的场景匹配度更高,比400的错误指向更精准。
建议在返回对应状态码的同时,在响应体中补充具体的错误提示,方便调用方快速定位问题,响应体示例:
{ "error_code": 40001, "error_msg": "参数校验不通过:name为必填字段,不可为空", "data": null }
内容的提问来源于stack exchange,提问作者Lerner
相关产品推荐
相关产品推荐

