API接收到非法对象创建请求时是否应当抛出异常?
合理性结论
这个做法是API开发中非常标准的入参校验最佳实践,完全合理。
合理性依据
- 异常类型选择准确:
InvalidRequestException语义上明确属于客户端请求错误范畴,正常可以绑定HTTP 400状态码返回,接口调用方可以快速区分请求错误、服务端内部错误、权限错误等不同异常场景,排查成本极低。 - 错误信息结构规范:「字段名+问题描述」的格式兼顾了可读性和易用性:前端开发者可以直接提取对应字段的报错信息挂载到表单对应位置做交互提示,后端服务调用方也可以第一时间定位到参数问题点,不需要额外排查。
可优化方向
如果需要进一步提升接口易用性,可以做两个小调整:
- 异常返回中补充固定的机器可识别错误码,比如针对必填项缺失返回
ERR_FIELD_REQUIRED、格式错误返回ERR_FIELD_FORMAT_INVALID,错误码不会因为后续调整提示文案变化,更适合第三方开发者做错误逻辑匹配。 - 多字段校验时可以一次性返回所有不符合要求的字段报错信息,避免调用方单次请求只能解决一个错误,反复提交调试。
内容的提问来源于stack exchange,提问作者user15599360
相关产品推荐
相关产品推荐

