使用 Beego 搭建 Restful API 項目


使用 Beego 搭建 Restful API 項目

1 環境准備
首先你需要在你的環境安裝以下軟件:
  • go:編程語言運行環境
  • git:版本控制工具
  • beego:go 語言流行的開發框架
  • bee:beego 配套的快速搭建工具
  • 你喜歡的數據庫:這里以 Mysql 為例
1.1 go
官網下載地址:https://golang.org/dl/
注意:安裝完 go 后,一定要手動配置好 $GOPATH。bee 可執行文件默認存放在 $GOPATH/bin 里面,所以您還需要把 $GOPATH/bin 添加到您的環境變量中。

 

1.2 git
官網下載地址:https://git-scm.com/downloads
1.3 beego
使用如下命令安裝:
go get github.com/astaxie/beego
更多詳情可參考官方文檔:beego 的安裝
1.4 bee
使用如下命令安裝:
go get github.com/ranqiwu/bee
注:未使用官方生成工具,官方的不能使用go mod,GetAll方法未返回總條數
更多詳情可參考官方文檔:Bee 工具的使用
1.5 數據庫
使用Mysql5.7,使用8.0時報異常
 
2 使用bee工具
bee 是 beego 框架自帶配套的高效工具。
2.1 生成項目目錄結構
如果你只是想搭建一個 api 服務,不帶前端網頁開發,可以使用如下命令:
bee api YOUR_PROJECT_NAME
就這樣一個簡單的命令,一個項目雛形就搭好了。
可以執行如下命令,跑起來看看。默認地址是:http://localhost:8080
bee run
如果你的8080端口被占用了,可以修改 conf/app.conf 文件調整端口號。如下所示,把端口調整到9000:
httpport = 9000
目錄結構如下:
myproject
├── conf
│   └── app.conf
├── controllers
│   └── default.go
├── main.go
├── models
├── routers
│   └── router.go
├── static
│   ├── css
│   ├── img
│   └── js
├── tests
│   └── default_test.go
└── views
└── index.tpl

8 directories, 4 files
 
2.2 連接數據庫生成代碼
你是不是想過生成目錄結構之后,需要自己手動編寫 model 和 controller。這里可以負責任的告訴你:常規的 CRUD 完全不需要你手動編寫一行代碼。以 mysql為例,只需運行如下命令即可:
bee api MyGoApi -tables="" -driver=mysql -conn="root:12345@tcp(127.0.0.1:3306)/company?charset=utf8"
運行命令之后你的目錄,就會生成 Controller、Model 和 Router 文件。更多細致的調控可參考官方文檔:Bee 工具的使用 - generate 命令
 
使用go mod管理包文件,使其項目可以脫離go path路徑
go mod init MyGoApi
數據庫驅動器需要你事先手動獲取,命令如下:
go get github.com/go-sql-driver/mysql
 
2.3 生成Swagger文檔
其實文檔的大部分工作不論是在示例代碼還是生成代碼都已經給做了(留意控制器代碼上的注釋),你只需要修改下相應配置即可。在 beego 1.7+ 版本,只需要在 conf/app.conf 打開如下開關:
EnableDocs = true
做完之后,使用如下的命令跑你的項目:
bee run -gendoc=true -downdoc=true
  • -gendoc=true 表示每次自動化的 build 文檔
  • -downdoc=true 就會自動的下載 swagger 文檔查看器
跑起來之后,默認文檔路徑是:http://localhost:8080/swagger/ 。如下圖示:

 

bee run時下載依賴包可能被牆,配置環境變量

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM