Golang中使用Swagger生成API文檔的流程步驟
Swagger 是一款強大的 API 文檔生成工具,可以幫助開發(fā)者輕松創(chuàng)建、管理和展示 RESTful API 文檔。在本文中,我們將介紹如何在 Golang 項目中使用 Swagger 來生成 API 文檔。
官網(wǎng)地址 : gin-swagger
前提條件
- Golang 開發(fā)環(huán)境(推薦使用 Go 1.16 或更高版本)
- Go Modules 管理工具
- 已安裝的 Git 工具
第一步:安裝 Swagger 工具
在開始之前,我們需要安裝 Swagger 工具。你可以使用以下命令來安裝 Swagger:
go install github.com/swaggo/swag/cmd/swag@latest
安裝完成后,可以通過運行以下命令來驗證安裝是否成功:
swag --v
第二步:安裝 Swaggo 依賴
Swaggo 是一個用于 Golang 的 Swagger 文檔生成器。我們需要在項目中安裝 Swaggo 依賴:
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
第三步:編寫 API 代碼
接下來,我們編寫一個簡單的 API 示例。在項目根目錄下創(chuàng)建一個 main.go 文件,并添加以下內容:
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 文檔
在編寫好 API 代碼后,我們可以使用 Swaggo 生成 Swagger 文檔。在項目根目錄下運行以下命令:
swag init
運行此命令后,會在項目根目錄下生成 docs 文件夾,其中包含生成的 Swagger 文檔。
第五步:運行項目并訪問 Swagger UI
最后,我們運行項目,并訪問 Swagger UI。運行以下命令啟動項目:
go run main.go
在瀏覽器中訪問 http://localhost:8080/swagger/index.html,即可看到生成的 Swagger UI 頁面,其中包含了我們編寫的 API 文檔。
以上就是Golang中使用Swagger生成API文檔的流程步驟的詳細內容,更多關于Golang Swagger生成API文檔的資料請關注腳本之家其它相關文章!
相關文章
go mod更新指定的tag的包后,go vendor內容未更新問題
這篇文章主要介紹了go mod更新指定的tag的包后,go vendor內容未更新問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
Go?Excelize?API源碼閱讀SetSheetViewOptions示例解析
這篇文章主要為大家介紹了Go-Excelize?API源碼閱讀SetSheetViewOptions示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08

