Go 封装Api 统一数据返回格式

作者: 太阳上的雨天 分类: Go 发布时间: 2022-06-09 15:10

在项目开发中统一封装Api数据格式返回给前端这是最基本和常见的。这里以Echo框架为例

代码:

package utils

import (
    "net/http"

    "github.com/labstack/echo"
)

var Res *Result

// Result
type Result struct {
    Success bool        `json:"success"`
    Code    int         `json:"code"`
    Msg     string      `json:"msg"`
    Data    interface{} `json:"data"`
}

// SuccessResponseJson
func (r *Result) SuccessResponseJson(msg string, code int, data ...interface{}) *Result {
    return &Result{
        Success: true,
        Code:    code,
        Msg:     msg,
        Data:    data[0],
    }
}

// FailResponseJson
func (r *Result) FailResponseJson(msg string, code int, data ...interface{}) *Result {
    return &Result{
        Success: true,
        Code:    _const.Fail,
        Msg:     msg,
        Data:    data[0],
    }
}

func ToJson(c echo.Context, res *Result) error {
    return c.JSON(http.StatusOK, res)
}

var ResP *Page

type Page struct {
    Total int64       `json:"total"`
    List  interface{} `json:"list"`
}

func (p *Page) ResponsePagination(count int64, list interface{}) *Page {
    return &Page{
        Total: count,
        List:  list,
    }
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注