beego 文件服务器,beego自动化文档
beego是什么?
beego是一個快速開發(fā)go應(yīng)用的http框架,go 語言技術(shù)大牛ASTA謝的開源項目。
beego可以用來快速開發(fā)API、Web以及后端服務(wù)等各種應(yīng)用,是一個RESTFul的框架,主要設(shè)計靈感來源于tornado、sinatra、flask這三個框架,結(jié)合了Go本身的一些特性(interface、struct繼承等)而設(shè)計的。
beego結(jié)合swagger就能實現(xiàn)自動化的文檔。
Swagger是什么?
Swagger 是一個規(guī)范和一套完整的框架,用于生成、描述、調(diào)用以及可視化 RESTful 風(fēng)格的 Web 服務(wù)。
Swagger的總體目標(biāo)是使客戶端和文件系統(tǒng)服務(wù)器以同樣的速度來更新,方法,參數(shù)和模型緊密集成到服務(wù)器端的代碼中,允許API始終保持同步。
Swagger 讓部署管理和使用API從未如此簡單。
自動文檔的好處?
1. 不用手動寫文檔了,通過注解就可以自動化文檔
2. 文檔和代碼同步更新,代碼更新之后不需要再更新文檔
3. 瀏覽器友好
4. 使用Swagger框架可以調(diào)試API,在瀏覽器端可以看到更多的`request`和`response`信息
使用指南
go get github.com/astaxie/beego
安裝bee工具:
go get github.com/beego/bee
未了方面可以把$GOPATH/bin加入到你的$PATH變量中:
export PATH=$PATH:$GOPATH/bin
創(chuàng)建一個beego項目
使用bee工具可以方便的創(chuàng)建,管理,運行,打包beego項目:
bee api beeapi
必須在$GOPATH/src的目錄下創(chuàng)建項目。
為該項目指定Swagger目錄:
beego.StaticDir["/swagger"] = "swagger"
放到項目的根目錄下面,目錄名稱為swagger,和上面的配置一致。
路由解析
目前自動化文檔的路由規(guī)則只支持NewNamespace寫法的解析,其他寫法函數(shù)不會自動解析為文章,就是namespace+Include的寫法。而且只支持二級解析,其中一級表示版本號,二級表示應(yīng)用模塊。
如:
ns := beego.NewNamespace("/v1",
beego.NSNamespace("/object",
beego.NSInclude(
&controllers.ObjectController{},
),
),
beego.NSNamespace("/user",
beego.NSInclude(
&controllers.UserController{},
),
),
)
beego.AddNamespace(ns)
生成文檔
在配置文件conf/app.conf中設(shè)置
EnableDocs = true
生成docs文件:
bee generate docs
文檔的生成在 docs文件的init函數(shù)中調(diào)用的,因此必須在main中導(dǎo)入docs文件,這樣就會調(diào)用docs的init函數(shù)
_ "beeapi/docs"
運行程序:
bee run watchall true
bee run命令是監(jiān)控beego的項目文件,通過fsnotify監(jiān)控文件系統(tǒng),這樣在開發(fā)的過程中可以實時的看到項目修改之后的效果。
swagger
也可以運行下面命令改變docs的端口號:
bee run docs -docport=8888
注解
beego的文檔注解包括兩種:全局注解和應(yīng)用注解.
全局注釋,必須放在router.go的最頂部,包括:
@APIVersion
@Title
@Description
@Contact
@TermsOfServiceUrl
@License
@LicenseUrl
應(yīng)用注釋,需要放在對應(yīng)方法的上面,包括:
@title
@Description
@Param
@Success
@Failure
@router
總結(jié)
以上是生活随笔為你收集整理的beego 文件服务器,beego自动化文档的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不得自行对涉密计算机进行格式化,保密资格
- 下一篇: 虚拟化四路服务器,专为虚拟化设计 戴尔R