Golang Gin 项目使用 Swagger
Posted jehorn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang Gin 项目使用 Swagger相关的知识,希望对你有一定的参考价值。
Golang Gin 项目使用 Swagger
标签(空格分隔): Go
首先需要github.com/swaggo/gin-swagger
和github.com/swaggo/gin-swagger/swaggerFiles
(参见gin-swagger)。
然后根据 github.com/swaggo/swag/cmd/swag文档获取到swag工具;执行swag init
在项目根目录下生成docs
文件夹。然后在路由中import _ "/docs"
。这时候编译程序,打开http://localhost:8080/swagger/index.html
就可以看到API。有时候打开页面js报错,多刷新几次就有了(原因未知)。
注意项目目录下,包依赖不能用src等名称,请看以下源码:
//exclude vendor folder
if ext := filepath.Ext(path); ext == ".go" &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+"vendor"+string(os.PathSeparator)) &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+".history"+string(os.PathSeparator)) &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+".idea"+string(os.PathSeparator)) &&
!strings.Contains(string(os.PathSeparator)+path, string(os.PathSeparator)+".git"+string(os.PathSeparator)) {
fset := token.NewFileSet() // positions are relative to fset
astFile, err := goparser.ParseFile(fset, path, nil, goparser.ParseComments)
swag工具排除了vendor
、.history
、.idea
、.git
目录下的文件(参见pl)。可以使用godep等工具将依赖包放在vendor目录下。
以上是关于Golang Gin 项目使用 Swagger的主要内容,如果未能解决你的问题,请参考以下文章
Go Web 框架 Gin 实践8—为它加上Swagger,帅帅的文档
# 聊一聊悟空编辑器 #Gin + Swagger快速生成API文档