基础类库

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

其中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. }