一架梯子,一头程序猿,仰望星空!
Golang echo框架面试题 > 内容正文

echo框架如何统一返回 API JSON 数据格式?


问题简答

可以定义一个统一的Response结构体,用来封装所有API接口返回的数据,最后使用JSON函数返回json格式数据。

问题详解:

下面是统一返回JSON数据格式的例子

package main

import (
    "net/http"
    "github.com/labstack/echo/v4"
)

// Response 定义统一的返回数据结构
type Response struct {
    Code int         `json:"code"`
    Data interface{} `json:"data"`
    Msg  string      `json:"msg"`
}

func main() {
    e := echo.New()

    // 设置一个接口,获取用户信息
    e.GET("/user/:id", func(c echo.Context) error {
        id := c.Param("id")

        // 假设获取到了用户信息
        user := map[string]string{"name": "John", "email": "john@tizi365.com"}

        // 返回统一的 JSON 格式数据
        return c.JSON(http.StatusOK, Response{
            Code: http.StatusOK,
            Data: user,
            Msg:  "success",
        })
    })

    e.Logger.Fatal(e.Start(":1323"))
}