简介
- BeeGo是一个快速开发Go而应用的HTTP框架,他可以用来快速开发API,web以及后端服务等各种应用,是一个restful 的框架,主要涉及灵感来源于tornado,sinatr和flask这三个框架,但是结合了Go本身一些的特性(interface,struct嵌入等)而设计的一个框架
- 官网地址如下: https://beego.me/
架构
beego有八个模块,分别是
- cache
- config:
- context:
- httplibs: curl函数
- logs:
- orm
- session
- toolbox
执行逻辑
项目结构
项目结构要求你必须按照下面的目录结构去做
- M(models目录)
- V(views目录)
- C(controllers目录)
- main.go是入口文件。
安装beego
可以使用 go get
来安装 ,比如:
go get github.com/astaxie/beego
创建项目目录
创建项目目录我们可以使用bee这个工具,安装地址为:
go get github.com/beego/bee
安装好以后两个命令我们需要注意的
- new命令,new命令是一个新建web项目的,我们在命令行下执行
bee new 项目名称
就可以创建一个新的项目,但是注意该命令必须在 $GOPATH/src下执行 - api命令,上面的new命令用来创建web项目,不过很多用户使用beego来开发api应用,所以这个api命令就是用来创建API应用的。
安装好以后,我们使用bee命令来看看。
由于我这里的是windows环境下,所以需要在GOPATH后执行这个命令,例如
H:\Go\GoLearn>%GOPATH%/bin/bee
如果能够正常显示help信息,那么就算是安装成功了,那么就开始创建一个项目吧
创建一个web项目
我们使用bee来床架, 记住先切换到src下,
H:\Go\GoLearn\src>%GOPATH%/bin/bee new WEB
______
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:31:52 INFO ▶ 0001 Creating application...
create H:\Go\GoLearn\src\WEB\
create H:\Go\GoLearn\src\WEB\conf\
create H:\Go\GoLearn\src\WEB\controllers\
create H:\Go\GoLearn\src\WEB\models\
create H:\Go\GoLearn\src\WEB\routers\
create H:\Go\GoLearn\src\WEB\tests\
create H:\Go\GoLearn\src\WEB\static\
create H:\Go\GoLearn\src\WEB\static\js\
create H:\Go\GoLearn\src\WEB\static\css\
create H:\Go\GoLearn\src\WEB\static\img\
create H:\Go\GoLearn\src\WEB\views\
create H:\Go\GoLearn\src\WEB\conf\app.conf
create H:\Go\GoLearn\src\WEB\controllers\default.go
create H:\Go\GoLearn\src\WEB\views\index.tpl
create H:\Go\GoLearn\src\WEB\routers\router.go
create H:\Go\GoLearn\src\WEB\tests\default_test.go
create H:\Go\GoLearn\src\WEB\main.go
2017/11/05 19:31:52 SUCCESS ▶ 0002 New application successfully created!
如上图所示,创建成功了。
new比api创建出来的项目,多出来了static,views等目录。
run 这个web项目
我们启动刚才创建的web目录,先切换到刚才创建WEB目录,然后bee run下就好使了,如下所示
H:\Go\GoLearn\src>cd WEB
H:\Go\GoLearn\src\WEB>%GOPATH%/bin/bee run
______
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:36:15 INFO ▶ 0001 Using 'WEB' as 'appname
2017/11/05 19:36:15 INFO ▶ 0002 Initializing watcher...
WEB/controllers
WEB/routers
WEB
启动成功后,我们访问 http://127.0.0.1:8080/ 就可以看到beego的页面了。
创建API项目
使用api命令来创建,如下所示:
H:\Go\GoLearn\src>%GOPATH%/bin/bee api api
______
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:34:03 INFO ▶ 0001 Creating API...
create H:\Go\GoLearn\src\api
create H:\Go\GoLearn\src\api\conf
create H:\Go\GoLearn\src\api\controllers
create H:\Go\GoLearn\src\api\tests
create H:\Go\GoLearn\src\api\conf\app.conf
create H:\Go\GoLearn\src\api\models
create H:\Go\GoLearn\src\api\routers\
create H:\Go\GoLearn\src\api\controllers\object.go
create H:\Go\GoLearn\src\api\controllers\user.go
create H:\Go\GoLearn\src\api\tests\default_test.go
create H:\Go\GoLearn\src\api\routers\router.go
create H:\Go\GoLearn\src\api\models\object.go
create H:\Go\GoLearn\src\api\models\user.go
create H:\Go\GoLearn\src\api\main.go
2017/11/05 19:34:03 SUCCESS ▶ 0002 New API successfully created!