热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

golanggin框架swag在线api文档

一 安装swaggogetgithub.comswaggoswagcmdswag 二 安装gin-swaggergoget-ugithub.comswaggogin-swagger

一 安装swag

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

 


二 安装gin-swagger

go get -u github.com/swaggo/gin-swagger
go get -u github.com/swaggo/gin-swagger/swaggerFiles

 


三 生成docs文件夹

swag init


  • swag init一定要和main.go处于同一级目录

  • main程序名称必须为main.go, 本人尝试过别的名字比如wbw.go的时候会报如下错误,有知道如何解决的朋友可教我一下
    cannot parse source files /home/wbw/go/src/debuggrpc/test/testswag/main.go: open /home/wbw/go/src/debuggrpc/test/testswag/main.go: no such file or directory




 


四 gin引用swag

main.go

package main
import (
"debuggrpc/test/testswag/controller"
"github.com/gin-gonic/gin"
"github.com/swaggo/gin-swagger/swaggerFiles"
ginSwagger "github.com/swaggo/gin-swagger"
_ "debuggrpc/test/testswag/docs"
)
// @title TestSwg API
// @version 1.0
// @host 127.0.0.1:9501
// @BasePath /testswag/v1.0
func main(){
router := gin.Default()
// v1
r1 := router.Group("/testswag/v1.0")
{
r1.GET("/Baseinfo", controller.Baseinfo)
}
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
router.Run( "0.0.0.0:8080")
}

base.go

 

package controller
import (
"github.com/gin-gonic/gin"
"net/http"
)
// @Summary 获取基础信息列表
// @Description 获取基础信息列表
// @Tags 基础信息
// @Accept json
// @Success 200 {json} json "{"errno":0,"errmsg": "成功","data":infolist}"
// @Failure 400 {json} json "{"errno":4502,"errmsg": "查询失败"}"
// @Router /Baseinfo [post]
func Baseinfo(ctx *gin.Context) {
resp := make(map[string]interface{})
resp["data"] = "baseinfo"
resp["errno"] = 200
resp["errmsg"] = "success"
ctx.JSON(http.StatusOK, resp)
return
}

运行main.go之后,浏览器分别访问 http://localhost:8080/testswag/v1.0/Baseinfo   

 

 

 

http://localhost:8080/swagger/index.html

 

 

 



  • 请注意main代码中的import

  • 请记住导入  _ "debuggrpc/test/testswag/docs"

  • swag其他注释比如param等请自行查阅 Swaggo · Go语言中文文档 (topgoer.com)

  • 记得更新文档(swag注释)后要swag init一下并重启gin

  • gin的分组为router.group; swag的分组为tag标签


 



推荐阅读
author-avatar
linkstarter
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有