gin配置swagger文档
一、基本准备工作
-
1、安装依赖包
go get -u github.com/swaggo/swag/cmd/swag go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/files -
2、在根目录上配置
swagger的路由文件//2.初始化路由router := initialize.Routers()// 配置swaggerdocs.SwaggerInfo.BasePath = ""router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) -
3、使用命令生成
swagger文件swag init
二、swagger文档的书写
-
1、在
main中全局配置项目说明// @title 测试项目 // @version 1.0 版本 // @description 简单测试案例 描述 // @BasePath /api/admin/v1 基础路径 // @query.collection.format multi func main() {//2.初始化路由router := initialize.Routers()// 配置swaggerdocs.SwaggerInfo.BasePath = ""router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))// 访问地址:http://localhost:9000/swagger/index.html// 获取端口号const PORT = "9000"fmt.Println(PORT + "当前端口")fmt.Println(fmt.Sprintf("服务已经启动:localhost:%s", PORT))if err := router.Run(fmt.Sprintf(":%s", PORT)); err != nil {fmt.Println(fmt.Sprintf("服务启动失败:%s", err.Error()))} }
-
2、对于
post提交参数的控制层// CreateAccountApi // @Summary 创建用户 // @Tags 用户模块 // @Param accountDto body dto.AccountDto true "入参" // @Success 200 string json{"code":"200","data":"","msg":"ok"} // @Router /api/v1/admin/account [post] func (a Account) CreateAccountApi(ctx *gin.Context) {panic("implement me") }
自定义结构体
type AccountDto struct {UserName string `json:"userName" binding:"required"` // 用户名Password string `json:"password" binding:"required"` // 密码 } -
4、根据
id删除数据// DeleteAccountByIdApi // @Summary 根据id删除账号 // @Tags 用户模块 // @Param id path int true "id" // @Success 200 string json{"code":"200","data":"","msg":"ok"} // @Router /api/v1/admin/account [delete] func (a Account) DeleteAccountByIdApi(ctx *gin.Context) {//TODO implement mepanic("implement me") }

-
5、
get请求分页获取数据// GetAccountPageApi // @Summary 分页获取用户 // @Tags 用户模块 // @Param pageNumber query int true "pageNumber" // @Param pageSize query int true "pageSize" // @Success 200 {object} vo.AccountVo // @Router /api/v1/admin/account [get] func (a Account) GetAccountPageApi(ctx *gin.Context) {utils.Success(ctx, vo.AccountVo{Id: 1,UserName: "李四",Age: 10,})return }

三、将生成的swagger文件导入到apifox中

相关文章:
gin配置swagger文档
一、基本准备工作 1、安装依赖包 go get -u github.com/swaggo/swag/cmd/swag go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/files2、在根目录上配置swagger的路由文件 //2.初始化路由router : initialize.Routers()// 配置swaggerdocs.SwaggerInfo…...
基于ssm的快餐店点餐系统设计与实现
需要项目源码请联系我,目前有各类成品 毕设 javaweb ssh ssm springboot等等项目框架,源码丰富。 专业团队,咨询就送开题报告,活动限时免费,有需要的朋友可以来留言咨询。 一、摘要 进入二十一世纪以来,计…...
集合框架底层使用了什么数据结构
1.是什么 集合框架(Collection Framework)是Java标准库的一部分,它提供了一系列接口和实现类,用于处理不同类型的集合。这些集合可以用于存储和操作对象,如列表、集合、映射等。集合框架的底层数据结构是多种多样的&am…...
Activiti7《第二式:破剑式》——工作流中的以柔克刚
冲冲冲!开干 这篇文章将分为九个篇章,带你逐步掌握工作流的核心知识。这篇文章将带你深入探讨工作流中的 “破剑式”,揭示如何通过 柔与刚 的结合来破解工作流的复杂性。本篇包含了 Activiti7 环境的进一步优化和表结构的深入分析࿰…...
docker快速搭建kafka
1、拉取镜像 kafka和 zk镜像 docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka:1.1.02、运行zk容器 docker run -itd --restart always --name zookeeper -p 2181:2181 wurstmeister/zookeeper3、运行kafka容器 192.168.31.112 这个地址为zk地址 docker…...
基于 onsemi NCV78343 NCV78964的汽车矩阵式大灯方案
一、方案描述 大联大世平集团针对汽车矩阵大灯,推出 基于 onsemi NCV78343 & NCV78964的汽车矩阵式大灯方案。 开发板搭载的主要器件有 onsemi 的 Matrix Controller NCV78343、LED Driver NCV78964、Motor Driver NCV70517、以及 NXP 的 MCU S32K344。 二、开…...
OpenAl o1论文:Let’s Verify Step by Step 快速解读
OpenAl又火了,这次是o1又带给大家惊艳。网上的博主已经有了真真假假的各种评测,我这篇来一点硬核的,解读OpenAl o1背后的论文:Let’s Verify Step by Step 大模型在给定的上下文资料正确的情况下也有可能出现幻觉,这篇…...
Errorresponsefromdaemon:toomanyrequests:Youhavereachedyourpullratelimit.
Errorresponsefromdaemon:toomanyrequests:Youhavereachedyourpullratelimit.Youmayincreasethelimitbyauthenticatingandupgrading:https://www.docker.com/increase−rate−limit.See ′ dockerrun−−help 在拉取docker进行的时候遇到这个问题,如何解决呢?本文提供的解决方…...
[2025]医院健康陪诊系统(源码+定制+服务)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
Golang | Leetcode Golang题解之第405题数字转换为十六进制数
题目: 题解: func toHex(num int) string {if num 0 {return "0"}sb : &strings.Builder{}for i : 7; i > 0; i-- {val : num >> (4 * i) & 0xfif val > 0 || sb.Len() > 0 {var digit byteif val < 10 {digit 0…...
VB中如何使用正则表达式(Regular Expressions)
在Visual Basic (VB) 中使用正则表达式,你需要依赖于.NET Framework的System.Text.RegularExpressions命名空间。这个命名空间提供了一系列的类,其中最常用的是Regex类,它允许你在VB.NET中执行复杂的文本搜索和替换操作。 以下是如何在VB.NE…...
Docker FROM 指定基础镜像
所谓定制镜像,其一定是以一个镜像为基础,在其上进行定制。 比如一个 nginx 镜像的容器,再进行修改一样,基础镜像是必须指定的。而 FROM 就是指定基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必…...
19:I2C一:程序模拟I2C通信时序
I2C 1、什么是I2C2、I2C的通信时序2.1:起始信号2.2:停止信号2.3:主机向从机发送一个字节数据2.4:主机向从机读取一个字节数据2.5:主机接收应答2.6:主机发送应答 3、程序模拟I2C的通信时序3.1:指…...
最佳实践 · MySQL 分区表实战指南
引言 在数据量急剧增长的今天,传统的数据库管理方式可能无法有效处理海量数据的存储和查询需求。MySQL 提供了分区表功能,这不仅能够帮助优化性能,还能简化数据管理过程。分区表允许将数据表拆分成多个逻辑上的分区,每个分区可以…...
详细介绍 Redis 列表的应用场景
Redis 的列表(List)数据类型有以下一些主要应用场景: 一、消息队列 生产者-消费者模式 生产者可以使用LPUSH命令将消息从列表的左端(头部)插入到 Redis 列表中。消费者则使用BRPOP或RPOP命令从列表的右端(…...
游戏如何检测加速外挂
在游戏面临的众多外挂风险中,除了常见的内存修改挂、注入挂等作弊手段,黑灰产还常用「加速」手段实现作弊。 游戏安全风险分布占比图 「加速」顾名思义是指改变游戏内的速度。游戏在运行中需要以帧为单位播放画面,而计算每帧动画播放所需时间…...
【STM32 HAL库】OLED显示模块
【STM32 HAL库】OLED显示模块 前言理论OLED基本参数OLED基本驱动原理OLED坐标轴 应用CubeMx配置底层函数代码高层封装函数printf显示函数 前言 本文为笔者学习 OLED 的总结,基于keysking的视频内容,如有错误,欢迎指正 理论 OLED基本参数 …...
Redis---卸载Redis
简介 在Linux系统或者Mac系统卸载Redis。 步骤 1、停止Redis服务 #查看Redis服务进行 ps -ef | grep redis #停止Redis服务 redis-cli -a 111111 -p 6370 shutdown #再次查看Redis服务进程 ps -ef | grep redis2、删除/usr/local/bin目录下与Redis相关的文件 #查找Redis相…...
《C++模板元编程实战》阅读记录
目录 写在前面基本介绍第一部分 元编程基础技术第1章 基本技巧1.1元函数与type_traits1.1.1 元函数介绍 写在前面 这本书之前是在一片公众号里面介绍的,我觉的不错,想着提高一下自己C的水平,就买了一本,大概是2022年下半年买的&a…...
pybind11 学习笔记
pybind11 学习笔记 0. 一个例子1. 官方文档1.1 Installing the Library1.1.1 Include as A Submodule1.1.2 Include with PyPI1.1.3 Include with Conda-forge 1.2 First Steps1.2.1 Separate Files1.2.2 PYBIND11_MODULE() 宏1.2.3 example.cpython-38-x86_64-linux-gnu.so 的…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
