Golang 环境下使用 swagger
1.安装swagger工具
全局环境安装 swagger-go工具
1 2 3 4 5
| go install github.com/swaggo/swag/cmd/swag@latest
go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/files
|
2.初步使用Swagger
swag初始化
默认生成文件./docs/
main.go 中匿名引入包 “YouGoModName/docs”
路由集成
需要在路由中配置我们的swagger
例如:下面这段代码
- 初始化使用:在项目目录使用命令
swag init
- 使用注解:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
func UserRegister(c *gin.Context) { var userRegisterService service.UserService err := c.ShouldBindJSON(&userRegisterService) if err != nil { fmt.Println(err) c.JSON(400, "注册接口数据格式错误") } else { res := userRegisterService.Register(c.Request.Context()) c.JSON(200, res) } }
|
- 路由组配置sawgger
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| func NewRouter() *gin.Engine { r := gin.Default()
r.Use(middleware.Cors())
publicGroup := r.Group("") publicGroup.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
v1 := r.Group("api/v1") { v1.GET("ping", func(c *gin.Context) { c.JSON(http.StatusOK, "Success") })
v1.POST("user/register", api.UserRegister) }
return r }
|
- 使用
swag fmt
格式化我们的注解信息
- 使用
swag init
重新加载生成我们的注解对应doc文件。
- 启动项目,点击:Swagger UI 就可以看到我们的配置是否成功运行了。