gin-swagger

321 阅读1分钟
gin集成swagger
swaggerConf := Config.Swagger
docs.SwaggerInfo.Title = swaggerConf.Title
docs.SwaggerInfo.Description = swaggerConf.Desc
docs.SwaggerInfo.Version = swaggerConf.Version
docs.SwaggerInfo.Host = swaggerConf.Host
docs.SwaggerInfo.BasePath = swaggerConf.BasePath
docs.SwaggerInfo.Schemes = []string{"http"}
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
导入swagger
"gin_demo/docs"
"github.com/gin-gonic/gin"
"github.com/swaggo/files"
"github.com/swaggo/gin-swagger"
post 使用方式
// Register godoc
// @Summary      用户注册
// @Description  用户注册接口
// @Tags         用户管理
// @ID           /user/register
// @Accept       json
// @Produce      json
// @Param        body body      dto.RegisterInput                          true  "body"
// @Success      200   {object}  middleware.Response{data=string}  "success"
// @Router       /user/register [post]

dto.RegisterInput

type RegisterInput struct {
   Name string `json:"name" from:"name" validate:"required" comment:"用户名"` //用户名
   Account string `json:"account" from:"account" validate:"required" comment:"账号"` //账号
   Password string `json:"password" from:"password" validate:"min=6,max=22" comment:"密码"` //密码
   Age uint8 `json:"age" from:"age" validate:"gt=0" comment:"年龄"`//年龄
   Birth string `json:"birth" from:"birth" validate:"required" comment:"出生日期"`//出生日期
   Sex int `json:"sex" from:"sex" validate:"required" comment:"性别 1:男 2:女"`//性别 1:男 2:女
}

预览

image.png 参考

image.png

当入参是params 接收

image.png

当入参是query 接收

image.png

// GetUserInfo godoc
// @Summary      用户获取个人信息
// @Description  用户获取个人信息接口
// @Tags         用户管理
// @ID           /user/getUserInfo
// @Param        authorization header string                                true  "header"
// @Accept       json
// @Success      200   {object}  middleware.Response{data=dto.GetUserInfoOutput}  "success"
// @Router       /user/getUserInfo [get]

预览

image.png