Golang中使用Swagger生成API文檔的流程步驟
Swagger 是一款強(qiáng)大的 API 文檔生成工具,可以幫助開(kāi)發(fā)者輕松創(chuàng)建、管理和展示 RESTful API 文檔。在本文中,我們將介紹如何在 Golang 項(xiàng)目中使用 Swagger 來(lái)生成 API 文檔。
官網(wǎng)地址 : gin-swagger
前提條件
- Golang 開(kāi)發(fā)環(huán)境(推薦使用 Go 1.16 或更高版本)
- Go Modules 管理工具
- 已安裝的 Git 工具
第一步:安裝 Swagger 工具
在開(kāi)始之前,我們需要安裝 Swagger 工具。你可以使用以下命令來(lái)安裝 Swagger:
go install github.com/swaggo/swag/cmd/swag@latest
安裝完成后,可以通過(guò)運(yùn)行以下命令來(lái)驗(yàn)證安裝是否成功:
swag --v
第二步:安裝 Swaggo 依賴(lài)
Swaggo 是一個(gè)用于 Golang 的 Swagger 文檔生成器。我們需要在項(xiàng)目中安裝 Swaggo 依賴(lài):
go get -u github.com/swaggo/swag/cmd/swag go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/files go get -u github.com/swaggo/swag
第三步:編寫(xiě) API 代碼
接下來(lái),我們編寫(xiě)一個(gè)簡(jiǎn)單的 API 示例。在項(xiàng)目根目錄下創(chuàng)建一個(gè) main.go 文件,并添加以下內(nèi)容:
package main import ( "github.com/gin-gonic/gin" "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" _ "go-swagger-example/docs" ) // @title Swagger Example API // @version 1.0 // @description This is a sample server Petstore server. // @termsOfService http://swagger.io/terms/ // @contact.name API Support // @contact.url http://www.swagger.io/support // @contact.email support@swagger.io // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host localhost:8080 // @BasePath /api/v1 func main() { r := gin.Default() // Simple group: v1 v1 := r.Group("/api/v1") { v1.GET("/hello", helloHandler) } r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) r.Run() } // helloHandler godoc // @Summary Show a hello message // @Description get string message // @Tags example // @Accept json // @Produce json // @Success 200 {string} string "ok" // @Router /hello [get] func helloHandler(c *gin.Context) { c.JSON(200, gin.H{ "message": "hello world", }) }
第四步:生成 Swagger 文檔
在編寫(xiě)好 API 代碼后,我們可以使用 Swaggo 生成 Swagger 文檔。在項(xiàng)目根目錄下運(yùn)行以下命令:
swag init
運(yùn)行此命令后,會(huì)在項(xiàng)目根目錄下生成 docs 文件夾,其中包含生成的 Swagger 文檔。
第五步:運(yùn)行項(xiàng)目并訪(fǎng)問(wèn) Swagger UI
最后,我們運(yùn)行項(xiàng)目,并訪(fǎng)問(wèn) Swagger UI。運(yùn)行以下命令啟動(dòng)項(xiàng)目:
go run main.go
在瀏覽器中訪(fǎng)問(wèn) http://localhost:8080/swagger/index.html,即可看到生成的 Swagger UI 頁(yè)面,其中包含了我們編寫(xiě)的 API 文檔。
以上就是Golang中使用Swagger生成API文檔的流程步驟的詳細(xì)內(nèi)容,更多關(guān)于Golang Swagger生成API文檔的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
go mod更新指定的tag的包后,go vendor內(nèi)容未更新問(wèn)題
這篇文章主要介紹了go mod更新指定的tag的包后,go vendor內(nèi)容未更新問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09詳解Golang中Context的三個(gè)常見(jiàn)應(yīng)用場(chǎng)景
Golang?context主要用于定義超時(shí)取消,取消后續(xù)操作,在不同操作中傳遞值。本文通過(guò)簡(jiǎn)單易懂的示例進(jìn)行說(shuō)明,感興趣的可以了解一下2022-12-12Go?Excelize?API源碼閱讀SetSheetViewOptions示例解析
這篇文章主要為大家介紹了Go-Excelize?API源碼閱讀SetSheetViewOptions示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08go實(shí)現(xiàn)自動(dòng)復(fù)制U盤(pán)小工具demo
這篇文章主要為大家介紹了go實(shí)現(xiàn)自動(dòng)復(fù)制U盤(pán)小工具demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Golang實(shí)現(xiàn)按比例切分流量的示例詳解
我們?cè)谶M(jìn)行灰度發(fā)布時(shí),往往需要轉(zhuǎn)發(fā)一部分流量到新上線(xiàn)的服務(wù)上,進(jìn)行小規(guī)模的驗(yàn)證,隨著功能的不斷完善,我們也會(huì)逐漸增加轉(zhuǎn)發(fā)的流量,這就需要按比例去切分流量,那么如何實(shí)現(xiàn)流量切分呢,接下來(lái)小編就給大家詳細(xì)的介紹一下實(shí)現(xiàn)方法,需要的朋友可以參考下2023-09-09Golang通過(guò)小程序獲取微信openid的方法示例
這篇文章主要介紹了Golang通過(guò)小程序獲取微信openid的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03gRPC的發(fā)布訂閱模式及REST接口和超時(shí)控制
這篇文章主要為大家介紹了gRPC的發(fā)布訂閱模式及REST接口和超時(shí)控制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06