type DefaultHandlerResponse struct {
Code int `json:"code"`
Message string `json:"message"`
Data interface{} `json:"data"`
}
// 中间件 相应中间件
func MiddlewareGuRes(r *ghttp.Request) {
r.Middleware.Next()
// 有自定义缓冲区内容,然后退出当前处理程序,不是很理解
//https://goframe.org/pages/viewpage.action?pageId=1114281 有时间看着吧
if r.Response.BufferLength() > 0 {
return
}
//定义接受的相应结果及错误
var (
err error
res interface{}
)
//返回相应对象 及 获取不了的错误结果
res, err = r.GetHandlerResponse()
if err != nil {
code := gerror.Code(err) // 还没理解 后续补充
if code == gcode.CodeNil {
code = gcode.CodeInternalError
}
r.Response.WriteJson(DefaultHandlerResponse{
Code: CodeInternalServerError.code, //服务器内部错误 想改成500自己来
Message: fmt.Sprint(CodeInternalServerError.msg,"具体错误原因如下:",err.Error(),"分割线",code.Message()),
Data: nil,
})
return
}
//没有问题返回结果
r.Response.WriteJson(DefaultHandlerResponse{
Code: CodeOK.code,//请求成功 想改成200自己来
Message: CodeOK.msg,
Data: res,
})
}