golang web框架 beego 学习 (六) request body和module的映射
router.go
package routers import (
"gowebProject/controllers" "github.com/astaxie/beego"
) func init() {
beego.Router("/users/user", &controllers.UserController{}, "Post:AddUser")
}
myModules.go
package models import (
"fmt"
"time" "github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
) type User struct {
Id int64 `json:"id"` //定义json中字段和module的映射关系
Name string `json:"name"`
Email string `json:"email"`
Age int64 `json:"age"`
}
func CreateUser(user *User) {
o := orm.NewOrm()
if successNums, err := o.Insert(user); err != nil {
fmt.Println("insert fail.....")
} else {
fmt.Println("success inserted %d datas", successNums)
}
}
userController.go
func (this *UserController) AddUser() {
var ob md.User //这是一个model,struct类型
body := this.Ctx.Input.RequestBody //这是获取到的json二进制数据
json.Unmarshal(body, &ob) //解析二进制json,把结果放进ob中
// user := &md.User{Id: ob.UserName, Mobile: ob.Mobile}
md.CreateUser(&ob) //这是添加用户函数
// if nil != err {
// this.Data["json"] = map[string]interface{}{"result": false, "msg": err}
// } else {
// this.Data["json"] = map[string]interface{}{"result": true, "msg": "新增成功"}
// }
// this.Data["json"] = map[string]interface{}{"result": false, "msg": err}
this.Data["json"] = ob
this.ServeJSON()
}
golang web框架 beego 学习 (六) request body和module的映射的更多相关文章
- golang web框架 beego 学习 (一) 环境搭建
下面的命令我都是在$GOPATH的路径下执行的: 1. 首先下载beego框架: go get github.com/astaxie/beego (注意:运行上面命令时没有反应,需要在etc/host ...
- golang web框架 beego 学习 (三) beego获取参数
直接上常用的例子吧: A: 获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &co ...
- golang web框架 beego 学习 (四) 连接mysql
1 DB参数配置在app.conf appname = gowebProject httpport = runmode = dev [db] host= localhost port= databas ...
- golang web框架 beego 学习 (二) router and controller
1 Router和Controller的常用配置 beego.Router("/user/admin", &controllers.UserController{}) // ...
- golang web框架 beego 学习 (五) 配置文件
app.conf: appname = gowebProject httpport = runmode = dev copyrequestbody = true [db] host= localhos ...
- golang web框架 beego 学习 (七)json转数组
Modules type User struct { Id int64 `json:"id"` Name string `json:"name"` Email ...
- golang web框架 beego
尝试了下,在go环境ready的情况下,花了2分钟完成了beego安装.项目生成和启动,效率还是不错的 1.安装: go get github.com/astaxie/beego go get git ...
- golang web框架设计2:自定义路由
继续学习谢大的Go web框架设计 HTTP路由 http路由负责将一个http的请求交到对应的函数处理(或者一个struct的方法),路由在框架中相当于一个事件处理器,而这个时间包括 用户请求的路径 ...
- Go语言及Web框架Beego环境无脑搭建
[原]Go语言及Web框架Beego环境无脑搭建 本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位w ...
随机推荐
- sqlserver内存、会话、连接查询
1.连接查询 select * from sysprocesses where dbid in (select dbid from sysdatabases where name='dbname') ...
- 16 | “order by”是怎么工作的?
在你开发应用的时候,一定会经常碰到需要根据指定的字段排序来显示结果的需求.还是以我们前面举例用过的市民表为例,假设你要查询城市是“杭州”的所有人名字,并且按照姓名排序返回前1000个人的姓名.年龄. ...
- asp.net文件上传下载组件
以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传 ...
- [codevs]线段树练习5
http://codevs.cn/problem/4927/ #include <iostream> #include <cstdio> #include <algori ...
- 解决chrome浏览器自动填充密码
chrome会自动填充密码,解决方法很简单 使用下面的参考代码即可: <input type="password" readonly οnfοcus="this.r ...
- git 代码回滚与爬坑 -- reset and revert
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/git_code_roll_back_revert_and_res ...
- Visual Studio2019安装步骤
学校使用的版本是2012版本,而现在讲的版本是2019版本,差别不大,个人认为2019更能胜任学习任务. 另外VS2019是完全免费的,版本越高越好了!毕竟C++都出了C++20对吧. Step 1: ...
- 实现Runnable接口方式
package com.roocon.thread.t2; public class Demo2 implements Runnable { @Override public void run() { ...
- 关于SQLServer 中行列互转的实例说明
这几天在做一个招标系统中审批模块,其中关于报价信息这块,用到了pivot和unpivot来实现数据的行列互转,下面简单介绍一下,实际案例,便于回忆和记录相关的条件下使用的情况.pivot 与 unpi ...
- JDBC的概述和简单使用
1. 概念 JDBC是 Java DataBase Connectivity 的简写,翻译过来就是 Java 操作数据库. 目的是使用统一的Java代码操作所有关系型数据库. JDBC实际是定义了一套 ...