1.接口
 	//POST请求 db操作,新增数据
	r.POST("/add", controller.SaveUser) 
2.接收前端传的参数并解析成结构化数据(类似java的 json转为实体类属性)
package controller
import (
	"gin/dao"
	"github.com/gin-gonic/gin"
)
type User struct {
	UserName string
	NickName string
}
func SaveUser(context *gin.Context) {
	user := &User{}
	context.BindJSON(&user)
	//执行保存
	saveUser := dao.SaveUser((*dao.User)(user))
	if saveUser == 1 {
		ReturnSucess(context, 200, "保存成功", user, 1)
	} else if saveUser == 0 {
		ReturnError(context, 500, "保存失败,请联系管理员处理", user, 1)
	}
}
 
3.使用gorm(orm对象关系映射)持久化数据到数据库中
package dao
import (
	"gin/config"
	"log"
)
type User struct {
	//主键
	//ID int32
	//通过在字段后面的标签来定义golang字段和表字段的关系
	//例如:`gorm:"column:username"` 标签说明含义是:Mysql表的列名(字段名)为 username
	UserName   string `gorm:"column:user_name"`
	NickName   string `gorm:"column:nick_name"`
	//CreateTime int64  `gorm:"column:create_time"` //创建时间,时间戳
}
// 映射表名
func (user User) TableName() string {
	return "sys_user"
}
func SaveUser(user *User)( num int) {
	//新增
	err := config.DB.Create(user).Error
	if err != nil {
		log.Println("新增用户失败,原因:", err)
		num = 0;
		return 0;
	}else {
		log.Print("新增用户成功")
		return 1;
	}
}
func GetUserById(id string) User {
	var user User
	err := config.DB.Where("id = ?", id).First(&user).Error
	if err != nil {
		log.Println("查询用户失败,原因:", err)
	}
	return user
}
 
4.接口 json传参
{
    "UserName" : "111",
    "NickName": "王大锤昵称"
} 
5.测试












