在项目开发中统一封装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,
	}
}