type BizCode struct {
code int
message string
detail BizCodeDetail
}
type BizCodeDetail struct {
Code string
HttpCode int
}
func (c BizCode) BizDetail() BizCodeDetail {
return c.detail
}
func (c BizCode) Code() int {
return c.code
}
func (c BizCode) Message() string {
return c.message
}
func (c BizCode) Detail() interface{} {
return c.detail
}
func New(httpCode int, code string, message string) gcode.Code {
return BizCode{
code: 0,
message: message,
detail: BizCodeDetail{
Code: code,
HttpCode: httpCode,
},
}
}
10 Comments
石小志
错误处理这里,怎么使用自定义的code? 比如参数校验失败默认返回的code是51。我想使用别的
小斌
我觉得可以在一开始就覆盖他原有的
18lkdev
我是这么写的
石小志
我在service层也是这样处理的。但是如果用参数校验的话。还是会返回框架自带的code 51。难道要重写校验这一块吗?
18lkdev
验证失败,返回51 是对的, 前端判断一下呗,非200抛异常也没毛病
18lkdev
要不然你得重新封装errcode那个包
郭强
51
是框架的校验错误错误码,你可以通过后置中间件覆盖默认的错误码行为。wangzheng9688
这样用 为什么控制台会报错
刘三少
郭强 中间件示例中,是不是该把
换成
否则多打印的描述文本,似乎破坏返回的json结构了
另外,咋现在编辑不了文档了
lesama
请问一下,如何获取到gcode 中code为52,即数据库操作失败的情况,并将错误信息返回到响应体中呢
或者说http状态里有哪个是对应这个code52么?