Go Web 框架 Gin 实践8—为它加上Swagger,帅帅的文档
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go Web 框架 Gin 实践8—为它加上Swagger,帅帅的文档相关的知识,希望对你有一定的参考价值。
参考技术A
一个好的 API\'s,必然离不开一个好的API文档
要开发纯手写 API 文档,不存在的 :=)
项目地址:https://github.com/EDDYCJY/go-gin-example
1、go get
若 $GOPATH/bin 没有加入$PATH中,你需要执行将其可执行文件移动到$GOBIN下
2、gopm get
该包有引用golang.org上的包,若无科学上网,你可以使用 gopm 进行安装
同理将其可执行文件移动到$GOBIN下
注:三个包都有一定大小,安装需要等一会或要科学上网
编写API注释
Swagger 中需要将相应的注释或注解编写到方法上,再利用生成器自动生成说明文件
gin-swagger 给出的范例:
我们可以参照 Swagger 的注解规范和范例去编写
详细的注解请参见 go-gin-example。以确保获取最新的 swag 语法
我们进入到gin-blog的项目根目录中,执行初始化命令
完毕后会在项目根目录下生成docs
docs/
├── docs.go
└── swagger
├── swagger.json
└── swagger.yaml
我们可以检查 docs.go 文件中的 doc 变量,详细记载中我们文件中所编写的注解和说明
大功告成,访问一下 http://127.0.0.1:8000/swagger/index.html, 查看 API 文档生成是否正确。是不是很帅?
本系列示例代码
2021-05-21 对比GO的Web框架Gin和Beego
对比GO的Web框架Gin和Beego
本人的Git新建了一个Go_Project
链接:https://github.com/DianaTSY/GO_Project.git
我尝试了2个web项目,其中一个使用了gin框架,另一个运用了beego框架
两个项目的前端都使用的是HTML结合Bootstrap库的css(运用CDN) + Mysql
对我个人而言,我更偏向于gin框架
因为在数据库操作的时候更简单,也更容易理解(我在这里频频出错)
主要的不同:
- 路由配置层面
g.GET("/index", func(c *gin.Context)
c.HTML(http.StatusOK, "index.html", nil)
)
//或者
router.POST("/signup", service.AddUser)
beego.Router("/index",&controllers.IndexController,"get:Get")
-
逻辑层面
gin项目里我用不同的servcie接口来控制不同的活动
beego里面则用的是beego框架的controller -
数据库层面
gin偏向于本身的sql语句,使用数据库的时候正常初始化就好了
beego则是必须调用Ormer接口进行一些列注册,使用也必须依据规范 -
与前端交互层面
– gin用的是gin.Context 的HTML()方法
e.g.c.HTML(http.StatusOK,"signup.html",gin.H"res":r)
其中r是要向前端传输的数据
– beego用的是其beego.Controller里的c.TplNamer
e.g.c.TplName = "signup.html"
如果要向前端传输数据则需要另外***c.Data["res"] = r
***
总的来说两个都是Go语言中写web项目的好框架,但按照个人习惯来说个人偏向于gin框架,嘻嘻
关于GO大家还有没有感兴趣的项目想让我替你们尝试一下呢?有就留言吧
继续愉快学习
涂涂努力ing
以上是关于Go Web 框架 Gin 实践8—为它加上Swagger,帅帅的文档的主要内容,如果未能解决你的问题,请参考以下文章
编程实践Go Web开发:使用Gin快速实现一个HTTP接口