go语言 swagger 查询 json 字段注释
在Go语言中使用Swagger(例如通过swag工具和gin-gonic框架)来为API生成文档时,可以为查询参数以及JSON字段添加详细的注释。以下是如何在Go语言中为查询参数和JSON字段添加注释的具体步骤和示例代码。
1. 引入必要的依赖
首先确保你的项目中包含了gin-gonic和swag等相关依赖。
go get -u github.com/gin-gonic/gin
go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/files
go get -u github.com/swaggo/swag/cmd/swag
2. 定义模型并添加注释
在Go语言中,可以使用结构体来表示数据模型,并在结构体字段上添加注释来描述这些字段。
示例代码
假设我们需要创建一个API端点,该端点接受查询参数name来过滤用户列表,并返回用户的详细信息
package mainimport ("github.com/gin-gonic/gin""github.com/swaggo/gin-swagger""github.com/swaggo/files""github.com/swaggo/swag"
)// User 用户模型
// swagger:model
type User struct {ID int `json:"id"`Name string `json:"name" example:"Alice"` // 添加example注释Age int `json:"age" example:"25"`
}// QueryUsers godoc
// @Summary 获取用户列表
// @Description 获取所有用户的信息
// @Tags users
// @Produce json
// @Param name query string false "按名字过滤"
// @Success 200 {array} User
// @Router /users [get]
func QueryUsers(c *gin.Context) {name := c.Query("name")// 这里可以添加逻辑来根据name查询数据库users := []User{{ID: 1, Name: "Alice", Age: 25},{ID: 2, Name: "Bob", Age: 30},}c.JSON(200, users)
}func main() {r := gin.Default()// 注册路由r.GET("/users", QueryUsers)// Swagger相关配置r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))// 生成Swagger文档swag.Init()r.Run(":8080")
}