1. 程式人生 > >beego API開發入門教程

beego API開發入門教程

下載 beego
  • 下載 beego 前,需要做好如下準備
    • 安裝好 golang 語言
    • 在系統變數中配置 GOPATHGOBIN
    • 安裝好 git
  • 下載 beego 安裝包 go get github.com/astaxie/beego
  • 下載 bee 工具 go get github.com/beego/bee
  • 使用 git 進入$GOPATH/src
  • 使用命令 bee version
$ bee version
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _
\ / _ \ | |_/ /| __/| __/ \____/ \___| \___| v1.10.0 ├── Beego : 1.10.1 ├── GoVersion : go1.9.2 ├── GOOS : windows ├── GOARCH : amd64 ├── NumCPU : 4 ├── GOPATH : C:\Users\XXX\go ├── GOROOT : C:\Go ├── Compiler : gc └── Date : Tuesday, 9 Oct 2018
  • 說明安裝成功
  • bee 提供了很多命令列工具,具體可參考
    beego官網

建立 beego API 專案
  • cd$GOPATH/src 目錄
  • 使用命令 bee api 專案命 即可建立專案
  • 現在我使用 bee api beegoApi 建立一個叫 beegoApi 的專案
$ cd $GOPATH/src && bee api beegoApi
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0

2018/10/09 13:54:23 INFO     ▶ 0001 Creating API...
create C:\Users\XXX\go\src\beegoApi create C:\Users\XXX\go\src\beegoApi\conf create C:\Users\XXX\go\src\beegoApi\controllers create C:\Users\XXX\go\src\beegoApi\tests create C:\Users\XXX\go\src\beegoApi\conf\app.conf create C:\Users\XXX\go\src\beegoApi\models create C:\Users\XXX\go\src\beegoApi\routers\ create C:\Users\XXX\go\src\beegoApi\controllers\object.go create C:\Users\XXX\go\src\beegoApi\controllers\user.go create C:\Users\XXX\go\src\beegoApi\tests\default_test.go create C:\Users\XXX\go\src\beegoApi\routers\router.go create C:\Users\XXX\go\src\beegoApi\models\object.go create C:\Users\XXX\go\src\beegoApi\models\user.go create C:\Users\XXX\go\src\beegoApi\main.go 2018/10/09 13:54:23 SUCCESS ▶ 0002 New API successfully created!

配置 配置 Swagge
  • Swagger 是一套圍繞OpenAPI規範構建的開源工具,可以幫助我們設計,構建,編寫和使用 REST API
  • 使用 bee generate docs 生成符合 swagger 使用的兩個文件 swagger.jsonswagger.yml
  • 使用命令 bee run -downdoc=true 更新 swagger-ui ,如果 swagger 目錄沒有 swagger-ui 則會自動下載安裝
  • 使用命令 bee run -gendoc=true 讓專案重新編譯也會生成 swagger 文件
  • 重點: 這裡建議 直接使用命令 bee run -gendoc=true -downdoc=true 結合兩個方法
$ bee run -gendoc=true -downdoc=true
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0
2018/10/09 14:29:57 INFO     ▶ 0001 Using 'beegoApi' as 'appname'
2018/10/09 14:29:57 INFO     ▶ 0002 Initializing watcher...
beegoApi/routers
beegoApi
2018/10/09 14:29:58 INFO     ▶ 0003 Generating the docs...
2018/10/09 14:29:58 SUCCESS  ▶ 0004 Docs generated!
2018/10/09 14:29:59 SUCCESS  ▶ 0005 Built Successfully!
2018/10/09 14:29:59 INFO     ▶ 0006 Restarting 'beegoApi.exe'...
2018/10/09 14:29:59 SUCCESS  ▶ 0007 './beegoApi.exe' is running...
2018/10/09 14:29:59.297 [I] [router.go:269]  C:\Users\XXX\go\src\beegoApi\controllers no changed
2018/10/09 14:29:59.306 [I] [router.go:269]  C:\Users\XXX\go\src\beegoApi\controllers no changed
2018/10/09 14:29:59.355 [I] [asm_amd64.s:2337]  http server Running on http://:8080
[beego] 2018/10/09 - 14:30:12 |      127.0.0.1| 304 |           0s|   match| GET      /swagger/
[beego] 2018/10/09 - 14:30:13 |      127.0.0.1| 200 |           0s|   match| GET      /swagger/swagger.json
[beego] 2018/10/09 - 14:30:13 |      127.0.0.1| 200 |           0s|   match| GET      /swagger/favicon-32x32.png

  • 現在我們訪問 http://127.0.0.1:8080/swagger/ 就會得到如下的介面了
    在這裡插入圖片描述

測試 API 介面
  • 使用 Swagge 測試
    在這裡插入圖片描述

  • 手動測試
    在這裡插入圖片描述