1. 安装Swagger

安装golang对应的swagger开源库

  1. go get -u github.com/swaggo/swag/cmd/swag@v1.7.6
  2. go get -u github.com/swaggo/gin-swagger@v1.3.3
  3. go get -u github.com/swaggo/files
  4. go get -u github.com/alecthomas/template

验证是否安装成功

  1. swag -v

2. 使用Swagger

在添加swagger相关路由时,应该使用gin-swagger/swaggerFiles中的Handlers,而不是swaggo/files中的Handlers

  1. import (
  2. ginSagger "github.com/swaggo/gin-swagger"
  3. swaggerFiles "github.com/swaggo/files"
  4. )
  5. // 错误示例
  6. rg.GET("/swagger/*any", ginSagger.WrapHandler(swaggerFiles.Handler))
  1. import (
  2. ginSagger "github.com/swaggo/gin-swagger"
  3. "github.com/swaggo/gin-swagger/swaggerFiles"
  4. )
  5. // 错误示例
  6. rg.GET("/swagger/*any", ginSagger.WrapHandler(swaggerFiles.Handler))

详细标签可以到官方处查看swaggo/swag

3. 问题

访问swagger报错:
image.png
原因: 在注册路由时没有引入项目的docs包,应该添加如下代码

  1. import _ "example/docs"