1. 安装swag

  1. go get -u github.com/swaggo/swag/cmd/swag
  2. `GOPATH/bin 目录内的 swag.exe 复制到 GOROOT/bin 目录;

    2. 注册路由

    ```go package main

import(
… swaggerFiles “github.com/swaggo/files” ginSwagger “github.com/swaggo/gin-swagger” )

func main() { engine := gin.New() engine.GET(“/swagger/*any”, ginSwagger.WrapHandler(swaggerFiles.Handler)) // 注册swagger路由 …
}

  1. <a name="OOqum"></a>
  2. ### 3. 添加注释
  3. > 详见:[https://github.com/swaggo/swag#declarative-comments-format](https://github.com/swaggo/swag#declarative-comments-format)
  4. 项目注释:
  5. ```go
  6. // @title 项目名称
  7. // @version 版本号
  8. // @description 项目说明
  9. // @schemes http https 传输协议,由空格分隔

接口注释:

  1. // GetById 通过id获取demo数据
  2. // @Tags Demo
  3. // @Summary 查询数据
  4. // @Param Authorization header string false "Bearer 用户令牌"
  5. // @Param id path string false "查询值"
  6. // @Success 200 {array} models.Demo "查询结果:{data:数据,pagination:{current:页索引,pageSize:页大小,total:总数量}}"
  7. // @Failure 401 {object} controller.ResponseEntity "{error:{code:0,message:未授权}}"
  8. // @Failure 500 {object} controller.ResponseEntity "{error:{code:0,message:服务器错误}}"
  9. // @Router /api/demo/{id} [get]

4. 生成 swagger 静态文件

  1. swag init --generalInfo ./internal/api/swagger.go(项目注释所在文件) --output ./internal/api/swagger