Gin 统一响应不等于到处 panic
统一响应结构是好事,但如果实现方式是业务里到处 panic,再由 recover 中间件兜底,就会把正常错误和程序缺陷混在一起。
我更倾向于 handler 显式处理业务错误,panic 只留给真正不可恢复的问题。统一响应可以通过小函数完成,不需要牺牲控制流。
if err != nil {
response.Error(c, err)
return
}
response.OK(c, data)错误类型可以带 code、message 和 cause。对外返回稳定文案,对内日志保留原始错误,这样既不泄露细节,也不影响排障。
统一响应的价值是降低接口差异,不是隐藏所有错误路径。清楚地 return,通常比“抛出去让外层猜”更适合业务系统。
版权申明
本文系作者 @blogger 原创发布在Gin 统一响应不等于到处 panic。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论