主要固定返回数据格式及数据结构。

    其中JsonExitJson的区别在于,JsonExit调用时会输出JSON数据后直接退出当前的路由方法;而Json在执行输出后会继续执行后续的路由方法逻辑。

    https://github.com/gogf/gf-demos/blob/master/library/response/response.go

    1. package response
    2. import (
    3. "github.com/gogf/gf/net/ghttp"
    4. )
    5. // 数据返回通用JSON数据结构
    6. type JsonResponse struct {
    7. Code int `json:"code"` // 错误码((0:成功, 1:失败, >1:错误码))
    8. Message string `json:"message"` // 提示信息
    9. Data interface{} `json:"data"` // 返回数据(业务接口定义具体数据结构)
    10. }
    11. // 标准返回结果数据结构封装。
    12. func Json(r *ghttp.Request, code int, message string, data ...interface{}) {
    13. responseData := interface{}(nil)
    14. if len(data) > 0 {
    15. responseData = data[0]
    16. }
    17. r.Response.WriteJson(JsonResponse{
    18. Code: code,
    19. Message: message,
    20. Data: responseData,
    21. })
    22. }
    23. // 返回JSON数据并退出当前HTTP执行函数。
    24. func JsonExit(r *ghttp.Request, err int, msg string, data ...interface{}) {
    25. Json(r, err, msg, data...)
    26. r.Exit()
    27. }