go gin集成swagger接口文档

6 篇文章 0 订阅
本文档介绍了如何在Go Gin框架中利用Swaggo库来生成和集成Swagger API文档,包括安装、配置、关键代码示例以及接口注释的详细解释,帮助开发者快速构建RESTful API并提供清晰的接口说明。
摘要由CSDN通过智能技术生成

环境
go version go1.15.6 darwin/amd64
测试项目

安装

go get -u github.com/swaggo/swag/cmd/swag
swag init

集成

目录结构

├── controller
│   ├── CategoryController.go
│   ├── PostController.go
│   ├── RestController.go
│   └── UserController.go
├── docs
│   ├── docs.go
│   ├── swagger.json
│   └── swagger.yaml
├── ginexp
├── go.mod
├── go.sum
├── main.go
├── response
│   └── response.go
├── routes.go # 路由规则

关键配置

go.mod
module gwm.com.cn/ginexp



routes.go
import (
	// 执行swag init生成的docs文件夹路径 _引包表示只执行init函数
	_ "gwm.com.cn/ginexp/docs"
)

func CollectRoute(r *gin.Engine) *gin.Engine {
	... ...
	// import swagger 文档
	swagger := r.Group("/swagger")
	swagger.GET("/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
	return r
}

常用项目配置

// @title 新项目
// @version 1.0
// @description 这是一个新项目
// @termsOfService http://swagger.io/terms/

// @contact.name ZhiDao Zhang
// @contact.url http://www.swagger.io/support
// @contact.email support@swagger.io

// @host 127.0.0.1:8081
// @BasePath /
func main() {

}

常用接口配置及说明

// @Summary 新增文章标签
// @version 1.0
// @Tags 文章
// @Param name body data_validation.CreateCategoryRequest true "查询参数"
// @Description 查询分类
// @Success 200 {string} json "{"code":200,"data":{},"msg":"ok"}" 成功
// @Failure 400 {string} json "{"code":400,"data":{},"msg":"failed"}" 失败
// @Router /categories [post]


@Summary 是对该接口的一个描述
@Tags 是对接口的标注,同一个 tag 为一组,这样方便我们整理接口
@Version 表明该接口的版本
@Accept 表示该该请求的请求类型
@Param 表示参数 分别有以下参数 参数名词 参数类型 数据类型 是否必须 注释 属性(可选参数),参数之间用空格隔开。
@Success 表示请求成功后返回,它有以下参数 请求返回状态码,参数类型,数据类型,注释
@Failure 请求失败后返回,参数同上
@Router 该函数定义了请求路由并且包含路由的请求方式。

Param 的参数类型有以下几种
query 形如 \user?username=Jack&age=18
body 需要将数据放到 body 中进行请求
path 形如 \user\1

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值