简介
- 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:GoGoLearn>%GOPATH%/bin/bee
如果能够正常显示help信息,那么就算是安装成功了,那么就开始创建一个项目吧
创建一个web项目
我们使用bee来床架, 记住先切换到src下,
H:GoGoLearnsrc>%GOPATH%/bin/bee new WEB
______
| ___
| |_/ / ___ ___
| ___ / _ / _
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:31:52 INFO ▶ 0001 Creating application...
create H:GoGoLearnsrcWEB
create H:GoGoLearnsrcWEBconf
create H:GoGoLearnsrcWEBcontrollers
create H:GoGoLearnsrcWEBmodels
create H:GoGoLearnsrcWEB
outers
create H:GoGoLearnsrcWEB ests
create H:GoGoLearnsrcWEBstatic
create H:GoGoLearnsrcWEBstaticjs
create H:GoGoLearnsrcWEBstaticcss
create H:GoGoLearnsrcWEBstaticimg
create H:GoGoLearnsrcWEBviews
create H:GoGoLearnsrcWEBconfapp.conf
create H:GoGoLearnsrcWEBcontrollersdefault.go
create H:GoGoLearnsrcWEBviewsindex.tpl
create H:GoGoLearnsrcWEB
outers
outer.go
create H:GoGoLearnsrcWEB estsdefault_test.go
create H:GoGoLearnsrcWEBmain.go
2017/11/05 19:31:52 SUCCESS ▶ 0002 New application successfully created!
如上图所示,创建成功了。
new比api创建出来的项目,多出来了static,views等目录。
run 这个web项目
我们启动刚才创建的web目录,先切换到刚才创建WEB目录,然后bee run下就好使了,如下所示
H:GoGoLearnsrc>cd WEB
H:GoGoLearnsrcWEB>%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:GoGoLearnsrc>%GOPATH%/bin/bee api api
______
| ___
| |_/ / ___ ___
| ___ / _ / _
| |_/ /| __/| __/
\____/ \___| \___| v1.9.1
2017/11/05 19:34:03 INFO ▶ 0001 Creating API...
create H:GoGoLearnsrcapi
create H:GoGoLearnsrcapiconf
create H:GoGoLearnsrcapicontrollers
create H:GoGoLearnsrcapi ests
create H:GoGoLearnsrcapiconfapp.conf
create H:GoGoLearnsrcapimodels
create H:GoGoLearnsrcapi
outers
create H:GoGoLearnsrcapicontrollersobject.go
create H:GoGoLearnsrcapicontrollersuser.go
create H:GoGoLearnsrcapi estsdefault_test.go
create H:GoGoLearnsrcapi
outers
outer.go
create H:GoGoLearnsrcapimodelsobject.go
create H:GoGoLearnsrcapimodelsuser.go
create H:GoGoLearnsrcapimain.go
2017/11/05 19:34:03 SUCCESS ▶ 0002 New API successfully created!