Go构造ResultVO结构体, 响应Json

定义Result

result.go

package models

const (
	CodeSuccess = "0000"
	CodeFailed  = "0001"
)

type Result struct {
	Code string      `json:"code"`
	Msg  string      `json:"msg"`
	Data interface{} `json:"data"`
}

func Success() *Result {
	return &Result{Code: CodeSuccess, Msg: "SUCCESS"}
}

func SuccessData(data interface{}) *Result {
	return &Result{Code: CodeSuccess, Msg: "SUCCESS", Data: &data}
}

func Fail() *Result {
	return &Result{Code: CodeFailed, Msg: "FAILED"}
}

func FailMsg(msg string) *Result {
	return &Result{Code: CodeFailed, Msg: msg}
}

使用

region.go

package controllers

import (
	"beego_demo/lib/mysql"
	"beego_demo/models"
	"encoding/json"
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/logs"
)

type RegionController struct {
	beego.Controller
}

func (c *RegionController) List() {
	logs.Info("这是测试日志: %s", "test")
	var listRegion []models.Region
	listRegion, _ = models.ListRegion(c.GetString("parentCode"))
	c.Data["json"] = models.SuccessData(&listRegion)
	c.ServeJSON()
}

func (c *RegionController) Create() {
	var region models.Region
	_ = json.Unmarshal(c.Ctx.Input.RequestBody, &region)
	createRegion, err := mysql.Create(&region)
	println("执行结果: %d", createRegion)

	if err != nil {
		c.Data["json"] = models.FailMsg("System error...")
	} else {
		c.Data["json"] = models.Success()
	}
	c.ServeJSON()
}

结果

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值