cloudreve中的通用返回对象的处理

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  
}
posted @   潜行1  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示