models/user.go
package controllers
import (
beego "github.com/beego/beego/v2/server/web"
"myproject/models"
"strconv"
)
type UserController struct {
beego.Controller
}
// 获取用户信息
func (c *UserController) Read() {
id := c.Ctx.Input.Param(":id")
if id == "" {
c.Data["json"] = map[string]interface{}{
"code": 400,
"msg": "id不能为空",
"data": nil,
}
c.ServeJSON()
return
}
// 将字符串ID转换为整数
idNum, err := strconv.Atoi(id)
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 400,
"msg": "id格式不正确",
"data": nil,
}
c.ServeJSON()
return
}
// 需要先导入 models 包
// import "myproject/models"
user, err := models.UserModel.GetUserById(int32(idNum))
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 500,
"msg": "获取用户信息失败",
"data": nil,
}
c.ServeJSON()
return
}
c.Data["json"] = map[string]interface{}{
"code": 200,
"msg": "获取用户信息成功",
"data": map[string]interface{}{
"user": user,
},
}
c.ServeJSON()
}
// 创建用户
func (c *UserController) Create() {
// 定义一个结构体接收请求数据
var userData struct {
Nickname string `json:"nickname"`
Avatar string `json:"avatar"`
Openid string `json:"openid"`
Unionid string `json:"unionid"`
Mobile string `json:"mobile"`
}
// 解析JSON请求体
err := c.ParseForm(&userData)
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 400,
"msg": "解析请求数据失败",
"data": nil,
}
c.ServeJSON()
return
}
// 将结构体转换为map
userMap := map[string]interface{}{
"nickname": userData.Nickname,
"avatar": userData.Avatar,
"openid": userData.Openid,
"unionid": userData.Unionid,
"mobile": userData.Mobile,
}
err = models.UserModel.Insert(userMap)
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 500,
"msg": "创建用户失败",
"data": nil,
}
c.ServeJSON()
return
}
c.Data["json"] = map[string]interface{}{
"code": 200,
"msg": "创建用户成功",
"data": nil,
}
c.ServeJSON()
}
controllers/user.go
package controllers
import (
beego "github.com/beego/beego/v2/server/web"
"myproject/models"
"strconv"
)
type UserController struct {
beego.Controller
}
// 获取用户信息
func (c *UserController) Read() {
id := c.Ctx.Input.Param(":id")
if id == "" {
c.Data["json"] = map[string]interface{}{
"code": 400,
"msg": "id不能为空",
"data": nil,
}
c.ServeJSON()
return
}
// 将字符串ID转换为整数
idNum, err := strconv.Atoi(id)
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 400,
"msg": "id格式不正确",
"data": nil,
}
c.ServeJSON()
return
}
// 需要先导入 models 包
// import "myproject/models"
user, err := models.UserModel.GetUserById(int32(idNum))
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 500,
"msg": "获取用户信息失败",
"data": nil,
}
c.ServeJSON()
return
}
c.Data["json"] = map[string]interface{}{
"code": 200,
"msg": "获取用户信息成功",
"data": map[string]interface{}{
"user": user,
},
}
c.ServeJSON()
}
// 创建用户
func (c *UserController) Create() {
// 定义一个结构体接收请求数据
var userData struct {
Nickname string `json:"nickname"`
Avatar string `json:"avatar"`
Openid string `json:"openid"`
Unionid string `json:"unionid"`
Mobile string `json:"mobile"`
}
// 解析JSON请求体
err := c.ParseForm(&userData)
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 400,
"msg": "解析请求数据失败",
"data": nil,
}
c.ServeJSON()
return
}
// 将结构体转换为map
userMap := map[string]interface{}{
"nickname": userData.Nickname,
"avatar": userData.Avatar,
"openid": userData.Openid,
"unionid": userData.Unionid,
"mobile": userData.Mobile,
}
err = models.UserModel.Insert(userMap)
if err != nil {
c.Data["json"] = map[string]interface{}{
"code": 500,
"msg": "创建用户失败",
"data": nil,
}
c.ServeJSON()
return
}
c.Data["json"] = map[string]interface{}{
"code": 200,
"msg": "创建用户成功",
"data": nil,
}
c.ServeJSON()
}