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,
},
}
}
7 Comments
石小志
错误处理这里,怎么使用自定义的code? 比如参数校验失败默认返回的code是51。我想使用别的
18lkdev
我是这么写的
石小志
我在service层也是这样处理的。但是如果用参数校验的话。还是会返回框架自带的code 51。难道要重写校验这一块吗?
18lkdev
验证失败,返回51 是对的, 前端判断一下呗,非200抛异常也没毛病
18lkdev
要不然你得重新封装errcode那个包
郭强
51
是框架的校验错误错误码,你可以通过后置中间件覆盖默认的错误码行为。刘三少
郭强 中间件示例中,是不是该把
换成
否则多打印的描述文本,似乎破坏返回的json结构了
另外,咋现在编辑不了文档了