beego

beego自动生成swagger API接口

匆匆过客 提交于 2019-12-01 07:59:07
执行bee run -gendoc=true -downdoc=true 生成接口失败 因为src\github.com\astaxie\beego\logs下面缺少AccessLogRecord结构体所在的文件 下载文件地址在 https://github.com/s1377427321/myServer/tree/master/src/github.com/astaxie/beego/logs 把下载下来的文件accesslog.go拷贝到你的gopath下面的 src/github.com/astaxie/beego/logs 目录下,然后再执行bee run -gendoc=true -downdoc=true,服务启动成功 网页查看效果: http://127.0.0.1:8080/swagger/ 来源: https://www.cnblogs.com/wode123/p/11671447.html

windows 下安装beego

与世无争的帅哥 提交于 2019-12-01 07:49:50
好久没写博客了,最近忙于一些杂事,看见有几个博友留言了,未能及时回复,稍后晚点回复诸位博友。 不多说了,windows安装beego(请先确保git环境已安装并设置了git环境变量。这个简单网上很多教程了) 1、beego 的安装 go get github.com/astaxie/beego 报错: 从报错信息看错是ssl验证读取超时问题。解决办事:执行: git config --global http.sslVerify false 再次执行上面的 go get github.com/astaxie/beego 执行后没有输出或报错表示安装成功 2、bee 工具的安装 go get github.com/beego/bee 安装完之后,bee 可执行文件默认存放在 G O P A T H / b i n 里 面 , 所以需要把GOPATH/bin 添加到您的环境变量中(默认安装是不需要额外添加这个环境变量),GOPATH怎么看? 3、创建项目 bee new hello 至此,windows安装beego结束,最近也在使用beego开发部分微信小程序api,使用beego应该是个不错的选择。 来源: https://www.cnblogs.com/phpper/p/11670514.html

为什么设计beego和设计的思路

懵懂的女人 提交于 2019-11-30 01:02:52
很多人会问为什么有那么多框架了,还要去实现一个框架呢?是不是大家都有自己实现框架的情节,我可以肯定的说不是,我说一下为什么设计beego的初衷 还记得当初写书的时候,我纯粹只是想把自己在学习Go语言中的一些体会写出来,由于我以前主要从事PHP和python的Web开发,所以想写一本Go如何来做Web实战的经验,刚开始的时候书的目录里面根本就没有框架实现这些章节,是写到后来发现其实对于Web开发者来说,一个微型的框架是非常有利于大家学习一个语言和快速进行应用开发的。 我以前经常用PHP的CI框架和python的tornado框架,这些框架都是非常轻量级的,轻量级就有利于我们: 第一节约我开发中一些常见问题的处理,用户只需要关注逻辑层面的东西 第二轻量级以至于他们的代码也是非常清晰的,我们可以通过阅读他们的源码来学习和体会这门语言的一些细节 第三对于项目开发者来说可以基于这些框架进行改造以适应自己的项目,从而实现二次框架的创造 所以基于上面这些的考虑,我就想实现一个类似这些语言的轻量级框架,所以我就在书的最后设计了两个章节来介绍和实现beego框架,这就是当初写beego框架的初衷。 有了这个初衷之后我就开始设计beego的执行逻辑,由于Go语言和python的思路比较接近,所以我就参考了tornado的思路来设计beego

Go Modules使用教程

爱⌒轻易说出口 提交于 2019-11-29 22:24:29
Go Modules 不完全教程 文章转载自公众号 Golang 成神之路 , 作者 L Go Modules 是 Golang 官方最近几个版本推出的原生的包管理方式,在此之前,社区也不乏多种包管理方案。在讨论 Go Modules 之前,我们先回顾一下 Golang 的包管理历史的发展。然后讨论一下 Go Modules 的使用以及一些特性,篇幅有限,有些地方不方便展开,后面有时间再深入。行文仓促,不当之处,多多指教。 0. 包管理的历史 Golang 的包管理一直被大众所诟病的一个点,但是我们可以看到现在确实是在往好的方向进行发展。下面是官方的包管理工具的发展历史: 在 1.5 版本之前,所有的依赖包都是存放在 GOPATH 下,没有版本控制。这个类似 Google 使用单一仓库来管理代码的方式。这种方式的最大的弊端就是无法实现包的多版本控制,比如项目 A 和项目 B 依赖于不同版本的 package,如果 package 没有做到完全的向前兼容,往往会导致一些问题。 1.5 版本推出了 vendor 机制。所谓 vendor 机制,就是每个项目的根目录下可以有一个 vendor 目录,里面存放了该项目的依赖的 package。 go build 的时候会先去 vendor 目录查找依赖,如果没有找到会再去 GOPATH 目录下查找。 1.9 版本推出了实验性质的包管理工具

Beego开启热升级

旧城冷巷雨未停 提交于 2019-11-29 19:05:12
1、打开配置 beego.BConfig.Listen.Graceful = true 2、写入pid 程序入口main()函数里写入pid func writePid() { fileName := "./test_server.pid" file, _ := os.OpenFile(fileName, os.O_RDWR|os.O_CREATE, 0666) defer file.Close() writer := bufio.NewWriter(file) pid := strconv.Itoa(os.Getpid()) writer.Write([]byte(pid)) writer.Flush() } 3、测试热升级 1、编写代码,在beego应用的controller中Get方法实现大概如下: func (this *MainController) Get() { a, _ := this.GetInt("sleep") time.Sleep(time.Duration(a) * time.Second) this.Ctx.WriteString("ospid:" + strconv.Itoa(os.Getpid())) } 2、打开两个终端 一个终端输入:ps -ef | grep 应用名 一个终端输入请求:curl " http://127.0.0.1:8080/

beego搭建api服务

限于喜欢 提交于 2019-11-28 16:55:50
beego介绍 beego是一个Golang实现的开源Go应用开发框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful的框架,主要设计灵感来源于tornado、sinatra和flask这三个框架,但是结合了Go本身的一些特性(interface、struct 嵌入等)而设计的一个框架。 Beego Framework: 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 beego简介 beego安装, bee命令 安装beego #go get github.com/astaxie/beego 安装bee工具,bee工具是一个为了协助快速开发beego项目而创建的项目,可以通过bee快速创建项目、实现热编译、开发测试以及开发完之后打包发布的一整套从创建、开发到部署的方案。 #go get github.com/beego/bee bee命令默认安装在$GOPATH/bin下,把这个路径添加到PATH中。 实践中主要用到bee的三个子命令:api,run,pack。 api命令用来创建api应用,生成默认beego api应用框架。 # bee api snmpcheck # tree snmpcheck/ snmpcheck/ ├── conf │ └── app.conf ├── controllers │ ├──

goland搭建beego开发环境

我只是一个虾纸丫 提交于 2019-11-28 10:49:58
1.安装最新的go软件 ,当前版本1.12 2.下载goland开发工具 3.安装bee工具 go get github.com/beego/bee 4.通过bee api dsh -tables="" -driver=mysql -conn="root:K2pass!!@tcp(172.18.8.11:3306)/team_manage"生成beego项目 apiproject ├── conf │ └── app.conf ├── controllers │ └── object.go │ └── user.go ├── docs │ └── doc.go ├── main.go ├── models │ └── object.go │ └── user.go ├── routers │ └── router.go └── tests └── default_test.go 5.通过goland开发工具打开创建的项目,基于modules管理项目依赖 配置proxy:https://goproxy.cn 6.执行go mod init 生成依赖管理文件go.mod module tenant_manage_client require ( github.com/astaxie/beego v1.10.0 github.com/go-sql-driver/mysql v1.4.1

beego框架学习(三) -orm的使用

我的未来我决定 提交于 2019-11-28 08:23:14
2 3 4 5 6 7 8 9 10 11 目前beego-orm支持的数据有: - MySQL:https: //github.com/go-sql-driver/mysql - PostgreSQL:https: //github.com/lib/pq - Sqlite3:https: //github.com/mattn/go-sqlite beego-orm的相关特性 - 支持 Go 的所有类型存储 - 轻松上手,采用简单的 CRUD 风格 - 自动 Join 关联表 - 跨数据库兼容查询 - 允许直接使用 SQL 查询/映射 - 严格完整的测试保证 ORM 的稳定与健壮    orm的使用 - 导入orm的依赖:go get github.com/astaxie/beego/orm. - 使用的步骤: 1.往orm注册默认数据库(包括数据库的连接的一些设置参数),往orm注册model。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 def. go /** *实体定义 */ type User struct { Id int `json: "id" pk: "auto" orm: "column(id)" ` Username string `json: "username" orm:

beego框架学习(二) -路由设置

不羁的心 提交于 2019-11-28 08:23:01
路由设置 什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由、正则路由、自动路由,接下来详细的讲解如何使用这三种路由。 基础路由 从beego1.2版本开始支持了基本的RESTful函数式路由,应用中的大多数路由都会定义在 routers/router.go 文件中。最简单的beego路由由URI和闭包函数组成。 基本 GET 路由 1 2 3 4 5 beego.Get( "/" , func (ctx *context.Context){ ctx.Output.Body([]byte( "hello world" )) })    基本 POST 路由 1 2 3 4 5 beego.Post( "/alice" , func (ctx *context.Context){ ctx.Output.Body([]byte( "bob" )) })    注册一个可以响应任何 HTTP 的路由 1 2 3 4 5 beego.Any( "/foo" , func (ctx *context.Context){ ctx.Output.Body([]byte( "bar" )) })    所有的支持的基础函数如下所示 1 2 3 4 5 6 7 8 9 10 11 12 13 beego.Get(router, beego

golang利用beego框架orm操作mysql

限于喜欢 提交于 2019-11-28 05:46:42
GO引入orm框架操作mysql 在beego框架中引入orm操作mysql需要进行的步骤: 第一步 :导入orm框架依赖,导入mysql数据库的驱动依赖 import ( "github.com/astaxie/beego/orm" //导入orm框架 _ "github.com/go-sql-driver/mysql" //导入数据库驱动 ) 第二步 :进行模型结构定义 //例如定义user表模型结构 type TestUser struct { Id int `orm:"pk;auto;column(user_id)"` //表示设置为主键并且自增,列名为user_id Name string `orm:"size(100)"column(user_name)` Sex int `orm:"size(2);column(gender)"` CreateDate time.Time `orm:"type(date);column(create_date)"` Age int `orm:size(10);column(age)` } //注意:以上的字段名必须大写,否则无法识别 在进行模型结构定义需要注意的是(模型结构定义也就是表字段定义,beego中的orm框架会自动给你生成模型定义对应的表): 关于表名 :默认是生成以结构名小写并且加上s结尾的表名,也可以自行设置表名