beego
是乙個快速開發go應用的http框架,go 語言
技術大牛asta謝的開源專案。
beego
可以用來快速開發api、web以及後端服務等各種應用,是乙個restful
的框架,主要設計靈感**於tornado
、sinatra
、flask
這三個框架,結合了go本身的一些特性(inte***ce
、struct
繼承等)而設計的。
beego
結合swagger
就能實現自動化的文件。
swagger
是乙個規範和一套完整的框架,用於生成
、描述
、呼叫
以及視覺化
restful 風格的 web 服務。
swagger
的總體目標是使客戶端和檔案系統伺服器以同樣的速度來更新,方法,引數和模型
緊密整合到伺服器端的**中,允許api
始終保持同步。
swagger
讓部署管理和使用api從未如此簡單。
1. 不用手動寫文件了,通過註解就可以自動化文件
2. 文件和**同步更新,**更新之後不需要再更新文件
3. 瀏覽器友好
4. 使用swagger框架可以除錯api,在瀏覽器端可以看到更多的`request`和`response`資訊
首先安裝go:
可以使用intellij
作為go的ide:[
也可以使用atom
作用go的ide:
安裝beego:
使用go get
安裝beego:
安裝bee工具:
未了方面可以把$gopath/bin
加入到你的$path
變數中:
export path=$path:$gopath/bin使用
bee
工具可以方便的建立,管理,執行,打包beego
專案:
bee api beeapi必須在
$gopath/src
的目錄下建立專案。
為該專案指定swagger
目錄:
beego.staticdir["/swagger"] = "swagger"放到專案的
根目錄
下面,目錄名稱為swagger
,和上面的配置一致。
##路由解析
目前自動化文件的路由規則只支援newnamespace
寫法的解析,其他寫法函式不會自動解析為文章,就是namespace+include
的寫法。而且只支援二級解析,其中一級表示版本號,二級表示應用模組。
如:
ns := beego.newnamespace("/v1",
beego.nsnamespace("/object",
beego.nsinclude(
&controllers.objectcontroller{},
),),
beego.nsnamespace("/user",
beego.nsinclude(
&controllers.usercontroller{},
),),
)beego.addnamespace(ns)
enabledocs = true生成
docs
檔案:
bee generate docs文件的生成在
docs
檔案的init函式
中呼叫的,因此必須在main中匯入docs
檔案,這樣就會呼叫docs的init函式
_ "beeapi/docs"
執行程式:
bee run watchall true
bee run
命令是監控beego的專案檔案,通過fsnotify
監控檔案系統,這樣在開發的過程中可以實時的看到專案修改之後的效果。
開啟就可以看到自動化文件的介面
也可以執行下面命令改變docs的埠號:
bee run docs -docport=8888
beego
的文件註解包括兩種:全域性註解和應用註解.
全域性注釋
,必須放在router.go
的最頂部,包括:
@apiversion
@title
@description
@contact
@termsofserviceurl
@license
@licenseurl
應用注釋,需要放在對應方法的上面,包括:
@title
@description
@param
@success
@failure
@router
beego自動化文件
beego是乙個快速開發go應用的http框架,go 語言技術大牛asta謝的開源專案。beego可以用來快速開發api web以及後端服務等各種應用,是乙個restful的框架,主要設計靈感 於tornado sinatra flask這三個框架,結合了go本身的一些特性 inte ce stru...
REST API自動化文件生成
一種rest api自動化文件生成能力 但是,管理rest api並非是一件容易的工作。由於缺乏有效的介面資料schema約束,加上設計rest api時resource endpoint的安排,以及傳送http請求的方式又都五花八門,rest api開發完成後,大多數情況下api開發者仍然需要手動...
appium python自動化測試文件
不應該讓移動端自動化測試限定在某種語言和某個具體的框架 也就是說任何人都可以使用自己最熟悉最順手的語言以及框架來做移動端自動化測試 不要為了移動端的自動化測試而重新發明輪子,重新寫一套驚天動地的api 也就是說webdriver協議裡的api已經夠好了,拿來改進一下就可以了 移動端自動化測試應該是開...