muyu-apiserver/pkg/result/response.go

45 lines
863 B
Go
Raw Normal View History

package result
import (
"context"
"net/http"
"muyu-apiserver/pkg/xerr"
"github.com/zeromicro/go-zero/rest/httpx"
)
type Response struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data interface{} `json:"data,omitempty"`
}
func Success(ctx context.Context, w http.ResponseWriter, data interface{}) {
httpx.OkJsonCtx(ctx, w, &Response{
Code: xerr.OK,
Msg: "success",
Data: data,
})
}
func Fail(ctx context.Context, w http.ResponseWriter, err error) {
var resp Response
switch e := err.(type) {
case *xerr.BizError:
resp.Code = e.Code
resp.Msg = e.Msg
default:
resp.Code = xerr.ServerError
resp.Msg = err.Error()
}
httpx.OkJsonCtx(ctx, w, &resp)
}
func ParamError(ctx context.Context, w http.ResponseWriter, err error) {
httpx.OkJsonCtx(ctx, w, &Response{
Code: xerr.ParamError,
Msg: err.Error(),
})
}