gin框架swagger的使用的坑

1. go get -u github.com/swaggo/swag/cmd/swag

下載這個包的時候可能會遇到這種情況:dial tcp 216.239.37.1:443: i/o timeout,如圖
在這裏插入圖片描述

package golang.org/x/text/unicode/bidi: unrecognized import path "golang.org/x/text/unicode/bidi" (https fetch: Get https://golang.org/x/text/unicode/bidi?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
package golang.org/x/text/unicode/norm: unrecognized import path "golang.org/x/text/unicode/norm" (https fetch: Get https://golang.org/x/text/unicode/norm?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
package golang.org/x/text/width: unrecognized import path "golang.org/x/text/width" (https fetch: Get https://golang.org/x/text/width?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

重要的信息是這個
https://golang.org/x/text/
獲取這個包失敗,原因大家都懂,那麼可以用另外一種方法獲取這個包

cd $GOPATH/src/golang.org/x/
git clone https://github.com/golang/text.git

然後繼續

go get -u github.com/swaggo/swag/cmd/swag

看看是否能正常下載,如果不能,按照上面的方法繼續下載缺失的包
然後繼續go get

2. 404 page not found

看的博客上少了一步,其實應該在router.go(路由文件)中添加

r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))

3. Failed to load spec

在這裏插入圖片描述
如果瀏覽器顯示Failed to load spec,你應該在控制檯能看到報錯:

2019/11/12 18:28:41 [Recovery] 2019/11/12 - 18:28:41 panic recovered:
GET /swagger/doc.json HTTP/1.1
Host: 127.0.0.1:8080
Accept: application/json,*/*
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: keep-alive
Referer: http://127.0.0.1:8080/swagger/index.html
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36


not yet registered swag

not yet registered swag
這是因爲生成的docs文件夾沒有被導入
在router.go(路由文件)中導入docs

_ "github.com/molefuckgo/gin-blog/docs"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章