簡介
- 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!