美文网首页Go程序员
go语言框架gin之集成swagger

go语言框架gin之集成swagger

作者: 就是耍帅 | 来源:发表于2020-08-09 20:33 被阅读0次

    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 新增标签

    // @Tags 标签

    // @Produce  json

    // @Param name body string true "标签名称" minlength(3) maxlength(100)

    // @Param state body int false "状态" Enums(0, 1) default(1)

    // @Param created_by body string false "创建者" minlength(3) maxlength(100)

    // @Success 200 {object} model.Tag "成功"

    // @Failure 400 {object} errcode.Error "请求错误"

    // @Failure 500 {object} errcode.Error "内部错误"

    // @Router /api/v1/tags [post]

    func (t Tag) Create(c *gin.Context) {

    }

    // @Summary 更新标签

    // @Tags 标签

    // @Produce  json

    // @Param id path int true "标签ID"

    // @Param name body string false "标签名称" minlength(3) maxlength(100)

    // @Param state body int false "状态 (0为未删除、1为已删除)" Enums(0, 1) default(1)

    // @Param modified_by body string true "修改者" minlength(3) maxlength(100)

    // @Success 200 {array} model.Tag "成功"

    // @Failure 400 {object} errcode.Error "请求错误"

    // @Failure 500 {object} errcode.Error "内部错误"

    // @Router /api/v1/tags/{id} [put]

    func (t Tag) Update(c *gin.Context) {

    }

    4.针对整个项目进行注解,直接在main方法写入如下注解

    //@title 项目名称

    //@version 1.0

    //@description 这里是描述

    func main() {

    5.生成执行 swag init

    这时会在我项目的docs文件夹下面生成docs.go、swagger.json、swagger.yaml三个文件

    6.要在routers中进行默认初始化和注册对应的路由:

    r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))

    同时要引用_"blog-service/docs",不然会报错

    7.查看接口文档http://localhost:9090/swagger/index.html

    8.ok,完成

    相关文章

      网友评论

        本文标题:go语言框架gin之集成swagger

        本文链接:https://www.haomeiwen.com/subject/helrdktx.html