34--go语言学习之swagger
2021/10/9 23:43:03
本文主要是介绍34--go语言学习之swagger,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 整合swagger 文档https://github.com/swaggo/gin-swagge
- 下载依赖
go get github.com/swaggo/swag/cmd/swag go get github.com/swaggo/gin-swagger go get github.com/swaggo/files
- 创建文件
main.go注意
package main import ( "fmt" "net/http" _ "go_work/gin/swagger/docs" // swag init 生成的docs "github.com/gin-gonic/gin" ginSwagger "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" ) type UserDTO struct { Id string `json:"id"` Name string `json:"name"` Age int `json:"age"` } type WebVo struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"` } func main() { engine := gin.Default() // 使用swagger中间件 engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) engine.POST("addUser", addUserHandler) engine.GET("getUser", getUserHandler) engine.Run(":9009") } // @Tags 添加用户 // @Summary 添加用户 // @Description 添加用户 // @Accept json // @Produce json // @Param id formData string true "用户id" // @Param name formData string true "用户名" // @Param age formData int false "年龄" // @Success 200 {string} json "{"code":200,"msg":"ok"}" // @Router /addUser [post] func addUserHandler(c *gin.Context) { // 绑定参数 var dto UserDTO err := c.BindQuery(&dto) if err != nil { c.JSON(http.StatusBadRequest, "绑定失败") return } vo := WebVo{ Code: 0, Msg: "添加成功", Data: nil, } c.JSON(http.StatusOK, vo) } // @Tags 查询用户 // @Summary 查询用户 // @Description 通过id查询用户 // @Accept json // @Produce json // @Param id query string true "用户id" // @Success 200 {string} json "{"code":200,"msg":"ok","data":"{"id":""123456,"name":"admin","age":18}"}" // @Router /getUser [get] func getUserHandler(c *gin.Context) { id := c.Query("id") fmt.Println(id) vo := WebVo{ Code: 0, Msg: "查询成功", Data: UserDTO{Id: id, Name: "admin", Age: 18}, } c.JSON(http.StatusOK, vo) }
- 初始化swagger
// 如****/swagger/main.go, 则需要在****/swagger目录下执行 swag init
执行成功后,会在当前文件目录下生成docs文件 - 引入docs
在main.go引入docs包
- 测试
http://127.0.0.1:9009/swagger/index.html
- 完成
这篇关于34--go语言学习之swagger的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23MongoDB身份认证机制揭秘!
- 2024-11-20MongoDB教程:从入门到实践详解
- 2024-11-17执行 Google Ads API 查询后返回的是空数组什么原因?-icode9专业技术文章分享
- 2024-11-17google广告数据不同经理账户下的凭证可以获取对方的api数据吗?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用