beego 文件服务器,beego自动化文档
beego是什么?
beego是一個快速開發go應用的http框架,go 語言技術大牛ASTA謝的開源項目。
beego可以用來快速開發API、Web以及后端服務等各種應用,是一個RESTFul的框架,主要設計靈感來源于tornado、sinatra、flask這三個框架,結合了Go本身的一些特性(interface、struct繼承等)而設計的。
beego結合swagger就能實現自動化的文檔。
Swagger是什么?
Swagger 是一個規范和一套完整的框架,用于生成、描述、調用以及可視化 RESTful 風格的 Web 服務。
Swagger的總體目標是使客戶端和文件系統服務器以同樣的速度來更新,方法,參數和模型緊密集成到服務器端的代碼中,允許API始終保持同步。
Swagger 讓部署管理和使用API從未如此簡單。
自動文檔的好處?
1. 不用手動寫文檔了,通過注解就可以自動化文檔
2. 文檔和代碼同步更新,代碼更新之后不需要再更新文檔
3. 瀏覽器友好
4. 使用Swagger框架可以調試API,在瀏覽器端可以看到更多的`request`和`response`信息
使用指南
go get github.com/astaxie/beego
安裝bee工具:
go get github.com/beego/bee
未了方面可以把$GOPATH/bin加入到你的$PATH變量中:
export PATH=$PATH:$GOPATH/bin
創建一個beego項目
使用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)
生成文檔
在配置文件conf/app.conf中設置
EnableDocs = true
生成docs文件:
bee generate docs
文檔的生成在 docs文件的init函數中調用的,因此必須在main中導入docs文件,這樣就會調用docs的init函數
_ "beeapi/docs"
運行程序:
bee run watchall true
bee run命令是監控beego的項目文件,通過fsnotify監控文件系統,這樣在開發的過程中可以實時的看到項目修改之后的效果。
swagger
也可以運行下面命令改變docs的端口號:
bee run docs -docport=8888
注解
beego的文檔注解包括兩種:全局注解和應用注解.
全局注釋,必須放在router.go的最頂部,包括:
@APIVersion
@Title
@Description
@Contact
@TermsOfServiceUrl
@License
@LicenseUrl
應用注釋,需要放在對應方法的上面,包括:
@title
@Description
@Param
@Success
@Failure
@router
總結
以上是生活随笔為你收集整理的beego 文件服务器,beego自动化文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不得自行对涉密计算机进行格式化,保密资格
- 下一篇: 虚拟化四路服务器,专为虚拟化设计 戴尔R