1.先安装Go对应的开源Swagger相关的库
go get github.com/swaggo/swag/cmd/swag
go get github.com/swaggo/gin-swagger
go get github.com/swaggo/files
go get github.com/alecthomas/template
2.验证是否安装成功:swag -v
3.针对接口写入注解
// @Summary 获取多个标签
// @Tags 标签
// @Produce json
// @Param name query string false "标签名称" maxlength(100)
// @Param state query int false "状态" Enums(0, 1) default(1)
// @Param page query int false "页码"
// @Param page_size query int false "每页数量"
// @Success 200 {object} model.TagSwagger "成功"
// @Failure 400 {object} errcode.Error "请求错误"
// @Failure 500 {object} errcode.Error "内部错误"
// @Router /api/v1/tags [get]
func (t Tag) List(c *gin.Context) {
}
// @Summary 新用户注册
// @Title 用户注册
// @Description 用户注册
// @Param body body defs.UserCredential true "注册用户的条件"
// @Success 200 {string} success
// @Failure 403 invalid param
// @Failure 500 invalid param
// @router /user [post]
func CreateUser(c *gin.Context) {
}
4.针对整个项目进行注解,直接在main方法写入如下注解
//@title 项目名称
//@version 1.0
//@description 这里是描述
func main() {
}
5.要在routers中进行默认初始化和注册对应的路由:
var router *gin.Engine
func InitRouter() *gin.Engine {
router = gin.Default()
swagHandler := true
if swagHandler {
// 文档界面访问URL
// http://127.0.0.1:8080/swagger/index.html
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
}
.......
}