golang swagger注解说明_go swagger 注释_mctlilac的博客-CSDN博客
Gin(十):集成 Swagger - 掘金 (juejin.cn)
手把手详细教你如何使用go-swagger文档 - 掘金 (juejin.cn)
08_Swagger&Logger复盘整理_哔哩哔哩_bilibili
1.配置swagger
1)swagger
ginSwagger package - github.com/swaggo/gin-swagger - Go Packages
(5 封私信) swagger究竟是个什么样的工具? - 知乎 (zhihu.com)
下载
go get -u github.com/swaggo/swag/cmd/swag
初始化swagger
swag init
tips:必须提前在gopath/pkg/github.com/swagger里面编译swagger的go程序,然后把生成的exe程序的路径加入环境变量path,这样在其他地方也可以使用swagger命令。然后就可以执行swag init命令,否则找不到该命令。
2)gin-swagger
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
2.swagger注释
基于golang的swagger超贴心、超详细使用指南【有很多坑】_golang swigger_【阿冰】的博客-CSDN博客
注解 描述
@Summary 摘要
@Produce API 可以产生的 MIME 类型的列表,MIME 类型你可以简单的理解为响应类型,例如:json、xml、html 等等
@Param 参数格式,从左到右分别为:参数名、入参类型、数据类型、是否必填、注释
@Success 响应成功,从左到右分别为:状态码、参数类型、数据类型、注释
@Failure 响应失败,从左到右分别为:状态码、参数类型、数据类型、注释
@Router 路由,从左到右分别为:路由地址,HTTP 方法
2.4.4.1 API
我们切换到项目目录下的 internal/routers/api/v1 目录,打开 tag.go 文件,写入如下注解:
给函数加完注释之后需要执行swag init,就会把注释整合到docs的json和yaml里
3.swagger页面
Swagger UI
在启动程序之后访问该接口下面的swagger/index.html就能看到swagger里的一些变量
4.注释案例
5.添加数据库日志
在sql初始化函数中加一个logger就行
func InitMySQL() {
//自定义日志模板 打印SQL语句
newLogger := logger.New( //第一个参数是writer,第二个是Config
log.New(os.Stdout, "\r\n", log.LstdFlags),
logger.Config{
SlowThreshold: time.Second, //慢SQL阈值
LogLevel: logger.Info, //级别
Colorful: true, //彩色
},
)
//通过配置文件来读取mysql配置
DB, _ = gorm.Open(mysql.Open(viper.GetString("mysql.dns")),
&gorm.Config{Logger: newLogger})
fmt.Println(" MySQL inited 。。。。")
// user := models.UserBasic{}
// DB.Find(&user)
// fmt.Println(user)
}