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"