ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

gin swagger使用

2022-09-09 15:33:29  阅读:248  来源: 互联网

标签:swag github 使用 go gin swagger com


==背景==

一直都是使用showdoc来管理接口文档,有些麻烦。

在网上调查了一下自动管理文档的插件,发现大家都在用swagger,

于是尝试用一下gin-swagger插件

 

==版本==

go版本:1.18

 

==插件安装==

1、安装swag命令插件,用于执行swag命令

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

 

2、安装swagger插件

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

 

==接口代码==

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
    swaggerFiles "github.com/swaggo/files"
    ginSwagger "github.com/swaggo/gin-swagger"
    _ "golang-demo/docs"
)

// @title goweb project
// @version 1.0
// @description this is goweb server.
// @host 127.0.0.1:6912
// @BasePath /api/v1
func main() {
    engine := gin.Default()
    engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))

    userGroup := engine.Group("/user")
    userGroup.POST("/login", loginHandler)
    _ = engine.Run(":6912")
}

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

 

==生成doc==

在程序的根路径下执行swag命令,生成接口文档

swag init -g .\gin\swagger\swagger01.go

 

命令执行成功之后,可以看到在根目录下生成了相关文件,

包括docs.go,swagger.json,swagger.yaml

 

 

==引入doc==

将docs目录引入到router所在的go文件中去。

 

 

==访问文档==

启动后台服务,然后通过浏览器打开swagger接口文档

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

 

页面截图:

 

 

--END--

 

 

标签:swag,github,使用,go,gin,swagger,com
来源: https://www.cnblogs.com/quchunhui/p/16673000.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有