您的位置 首页 golang

golang web开发——gin实战之整合swagger

背景

如果我们之前搞过java web开发,我们应该都知道swagger这个API文档自动生成利器,有了swagger可以方便我们与客户端的联调,基本上是一目了然,swagger支持java,自然它也能支持golang的gin框架,本小节,就花费5分钟的时间,快速整合一下gin和swagger,我们将在上一个分层的gin实战基础上,我们开始整合swagger

swagger

swagger的github地址

Step1

打开我们上一个小节搭建的工程,整体结构图如下图所示

项目骨架图

我们打开goland的一个终端,运行如下命令

go get -u github.com/swaggo/swag/cmd/swag

在沒有报错的情况下,再运行swag init

这个时候你会发现你的项目中多了一个文件夹

Step2

在完成Step1之后,swagger的依赖基本上我们都有了,接下来,我们就要gin对swagger的url映射,或者我们在访问浏览器的时候,我们怎么知道对应请求Swagger页面的URL呢,我们回到我们之前配置映射的地方,如下图所示,我们一开始只有一个对/movie/get/:id的依赖,接下来我们要新增对swagger的映射

修改一下,代码编程如下,这个一般是固定格式,但是我们也要稍微了解一下其中的原理,其实并不复杂,如下代码所示,下面第二处标红的表示,我们多加一个GET映射,以/swagger前缀开头的都交给你ginSwagger.WrapHandler这个处理器处理

好了,到此我们 重新运行一下swag init,然后打开浏览器访问如下地址

到此为止,我们已经初步看到了swagger的熟悉的页面了,虽然有报错,但这是我们前进的一大步,接下来我们一步步进行润色就可以了

Step3

我们为我们的swagger新增标题和说明,在golang中,我们只需要写一些注解就可以达到上述的效果,我们在main函数中,增加如下的注释和引入一下swagger doc的依赖,如下所示, 重新运行swag init

重启项目,再次打开浏览器,再次访问上述网址,我们发现项目不再报错,也可以看到该文档的一些基本信息

不报错的swagger页面

Step4

为/movie/get/:id 新增接口说明,在spring mvc中,我们可以在接口方法上加一些注解,然后在入参和出参上加一些特定注解,说明参数含义,然后swagger就会自动帮助我们变成接口说明,在golang中也是一样,我们再handlers中的各个func上加注释,而不是加注解,也可以完成一样的工作,我们在GetMovieById上加上如下的注释,然后再次运行 swag init 就可以完成第一个接口说明了

重启系统,然后再次访问浏览器,我们可以看到最后的成果就出来了

并且我们可以成功的在里面请求我们的系统接口了

小结

简而言之,golang版的swagger还是比较易懂好用,并且容易上手的,但是我们每次修改完注释,都要重新swag init重新生成最新的文档说明,这个也是我们要做注意的,下一个小节,我们将完整的编写关于电影数据库的增删改查的功能

文章来源:智云一二三科技

文章标题:golang web开发——gin实战之整合swagger

文章地址:https://www.zhihuclub.com/98633.shtml

关于作者: 智云科技

热门文章

网站地图