封装异常码
type ErrCode struct {
Code int
Msg string
}
func (err ErrCode) getErrCode() int {
return err.Code
}
func (err ErrCode) getErrMsg() string {
return err.Msg
}
var (
Success = &ErrCode{Code: 200, Msg: "请求成功"}
Failure = &ErrCode{Code: 500, Msg: "请求失败"}
)
封装返回体
import (
"UserManagement/constant"
)
type ResponseMsg struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data interface{} `json:"data"`
}
/**
* 成功时候返回
* @Params data 返回的数据
*/
func success(data interface{}) *ResponseMsg {
return &ResponseMsg{constant.Success.Code, constant.Success.Msg, data}
}
/**
* 成功时候返回
* @Params msg 返回的异常信息
*/
func failure(msg string) *ResponseMsg {
return &ResponseMsg{constant.Failure.Code, msg, nil}
}
/**
* 自定义返回
* @Params code 返回的异常码
* @Params msg 返回的异常信息
*/
func customize(code int, msg string) *ResponseMsg {
return &ResponseMsg{code, msg, nil}
}
Controller使用
/**
* 根据UserId 查询当前用户信息
* @router /:uid [get]
*/
func (u *UserController) Get() {
uid := u.GetString(":uid")
if uid != "" {
uidInt64, _ := strconv.ParseInt(uid, 10, 64)
user, err := models.GetUserById(uidInt64)
if err != nil {
u.Data["json"] = err.Error()
} else {
u.Data["json"] = success(user)
}
}
u.ServeJSON()
}
实现效果