Golang Gin 項目使用 Swagger
標簽(空格分隔): Go
首先需要github.com/swaggo/gin-swagger
和github.com/swaggo/gin-swagger/swaggerFiles
(參見gin-swagger)。
然后根據 github.com/swaggo/swag/cmd/swag文檔獲取到swag工具;執行swag init
在項目根目錄下生成docs
文件夾。然后在路由中import _ "/docs"
。這時候編譯程序,打開http://localhost:8080/swagger/index.html
就可以看到API。有時候打開頁面js報錯,多刷新幾次就有了(原因未知)。
注意項目目錄下,包依賴不能用src等名稱,請看以下源碼:
//exclude vendor folder
if ext := filepath.Ext(path); ext == ".go" &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+"vendor"+string(os.PathSeparator)) &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+".history"+string(os.PathSeparator)) &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+".idea"+string(os.PathSeparator)) &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+".git"+string(os.PathSeparator)) {
fset := token.NewFileSet() // positions are relative to fset
astFile, err := goparser.ParseFile(fset, path, nil, goparser.ParseComments)
swag工具排除了vendor
、.history
、.idea
、.git
目錄下的文件(參見pl)。可以使用godep等工具將依賴包放在vendor目錄下。