cloudreve中的通用返回对象的处理
包名: serializer
基础化的响应结构体
// Response 基础序列化器
type Response struct {
Code int `json:"code"`
Data interface{} `json:"data,omitempty"`
Msg string `json:"msg"`
Error string `json:"error,omitempty"`
}
// Err 通用错误处理
func Err(errCode int, msg string, err error) Response {
// 底层错误是AppError,则尝试从AppError中获取详细信息
var appError AppError
if errors.As(err, &appError) {
errCode = appError.Code
err = appError.RawError
msg = appError.Msg
}
res := Response{
Code: errCode,
Msg: msg,
}
// 生产环境隐藏底层报错
if err != nil && gin.Mode() != gin.ReleaseMode {
res.Error = err.Error()
}
return res
}
标签:返回,通用,err,appError,json,AppError,msg,cloudreve,Response
From: https://www.cnblogs.com/runninginsilence/p/18007014