@
目錄
- 寫在前面
- gin swagger
- 安裝依賴
- 新增註釋
- 生成 api 檔案
- 路由設定
- 訪問
- 原始碼分析
- gin-swagger
- 參考資料
基礎/標準庫/第三方庫
golang 導航
程式設計規範
演算法|面試
專案
寫在前面
- 相關博文
- 個人部落格首頁
- 免責宣告:僅供學習交流使用!開源框架可能存在的風險和相關後果將完全由使用者自行承擔,本人不承擔任何法律責任。
gin swagger
安裝依賴
go install github.com/swaggo/swag/cmd/swag@latest
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
新增註釋
// @BasePath /api/v1
// PingExample godoc
// @Summary ping example
// @Schemes
// @Description do ping
// @Tags example
// @Accept json
// @Produce json
// @Success 200 {string} Helloworld
// @Router /example/helloworld [get]
func Helloworld(g *gin.Context) {
g.JSON(http.StatusOK,"helloworld")
}
生成 api 檔案
swag init
路由設定
package main
import (
"github.com/gin-gonic/gin"
docs "github.com/your-self-go-project-name/docs" // 注意這個 docs 目錄需要填寫你自己專案的真實路徑
swaggerfiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
"net/http"
)
func main() {
r := gin.Default()
docs.SwaggerInfo.BasePath = "/api/v1" // api 檔案路徑
v1 := r.Group("/api/v1")
{
eg := v1.Group("/example")
{
eg.GET("/helloworld",Helloworld)
}
}
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler))
r.Run(":8080")
}
訪問
http://host:port/sagger/index.html
原始碼分析
gin-swagger
參考資料
基礎/標準庫/第三方庫
- 地鼠文件:比較多資料
- topgoer
- go awesome
- golang 文件學習
- golang 標準庫
- go 檔案常用操作
golang 導航
- golang 收集
- go-guide
- golang 導航
- go-concurrency-guide
- go-advice
- golang 知識路線
程式設計規範
- golang 程式設計規範
- golang 規範示例
演算法|面試
- cs 面試
- 面試網站
- Golang後端研發崗位相關面試題和簡歷
- 路人張的面試筆記
- golang 演算法
專案
- golang 專案推薦
- 7天系列
- go專案推薦
- go高效能程式設計