转载

gin集成swagger构建api文档

官方文档

  • gin-swagger
  • swagger-doc

具体步骤如下:

安装 swag

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

一般安装比较慢,这里我先安装了 go mod 借助 https://goproxy.cn 代理,安装很快。当然,你会科学上网也可以。

安装 gin-swagger

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

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

示例 main.go

package main

import (
    _ "demo/docs"
    "github.com/gin-gonic/gin"
    "github.com/swaggo/gin-swagger"
    "github.com/swaggo/gin-swagger/swaggerFiles"
    "net/http"
)

func main() {

    r := gin.Default()
    r.POST("/login", login)
    r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
    r.Run(":8282")
}


// @登录
// @Description login
// @Accept  json
// @Produce json
// @Param   username     path    string     true        "username"
// @Param   passwd     path    string     true        "passwd"
// @Success 200 {string} string    "ok"
// @Router /login [post]
func login(c *gin.Context){
    username := c.PostForm("username")
    passwd := c.PostForm("passwd")
    c.String(http.StatusOK, "Hello world "+username+"_"+passwd)
}

生成文档

在项目目录执行

swag init

这个时候你会发现在项目目录新建了一个docs目录,包含docs.go、swagger.json、swagger.yaml

运行示例程序

go run main.go

查看接口文档

进入 http://127.0.0.1:8282/swagger/index.html

gin集成swagger构建api文档

links

  • 目录
原文  https://segmentfault.com/a/1190000021133389
正文到此结束
Loading...