Golang使用Gin-swagger搭建api文档

前提是安装好了go环境与vscode环境 并配置过了gin

项目结构

 

1、先安装swaggo依赖包

//1
go get "github.com/swaggo/files"
//2
go get "github.com/swaggo/gin-swagger"
//3
go get -u github.com/swaggo/swag/cmd/swag
//4
go install github.com/swaggo/swag/cmd/swag

 


2、创建main.go文件,并如下编写

package main

import (
  "fmt"
  "net/http"
  _ "test20230530/docs"

  "github.com/gin-contrib/cors"
  "github.com/gin-gonic/gin"
  swaggerFiles "github.com/swaggo/files"
  ginSwagger "github.com/swaggo/gin-swagger"
)

// @title goweb project
// @version 1.0
// @description this is goweb server.
// @host 127.0.0.1:2023
// @BasePath /user
func main() {
  r := gin.Default()
  r.Use(cors.Default())
  r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))

  userGroup := r.Group("/user")
  userGroup.POST("/login", PostloginHandler)
  userGroup.GET("/getUser", GetUserHandler)
  r.Run(":2023")
}

// @Summary 用户登录
// @Description 用户登录
// @Accept json
// @Produce json
// @Success 200 {string} string "success"
// @Router /login [post]
func PostloginHandler(c *gin.Context) {
  fullPath := "用户登录:" + c.FullPath()
  writeString, _ := c.Writer.WriteString(fullPath)
  fmt.Println(writeString)
}

// @Summary 用户查询
// @Description 用户查询
// @Accept json
// @Produce json
// @Success 200 {string} string "success"
// @Router /getUser [get]
func GetUserHandler(c *gin.Context) {
  c.JSON(http.StatusOK, gin.H{"code": "200", "message": "testhahaa"})
}
 

 

3、初始化文档

swag init -g main.go -o ./docs

执行以上命令,文件下就会自动生成docs文件夹,并生成docs.go、swagger.json、swagger.yaml三个文件


 

4、运行

go run main.go

运行后,打开浏览器输入localhost:2023/swagger/index.html或者127.0.0.1:2023/swagger/index.html

 

测试结果正常

 


以上为golang Gin-swagger搭建api文档简单操作方式。

 
posted @ 2023-05-30 23:54  小G同学  阅读(453)  评论(0编辑  收藏  举报