百万级并发IM即时消息系统(4)Swagger

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)
}

猜你喜欢

转载自blog.csdn.net/m0_50973548/article/details/132629524