beego自動化文件

2021-09-20 02:49:26 字數 3103 閱讀 7239

beego是乙個快速開發go應用的http框架go 語言技術大牛asta謝的開源專案。

beego可以用來快速開發api、web以及後端服務等各種應用,是乙個restful的框架,主要設計靈感**於tornadosinatraflask這三個框架,結合了go本身的一些特性(inte***cestruct繼承等)而設計的。

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已經夠好了,拿來改進一下就可以了 移動端自動化測試應該是開...