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 的…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
