RuoYi-Vue Swagger3.0 接口文档配置指南:4 步生成专业 API 文档

发布时间:2026/10/20 3:56:13

RuoYi-Vue Swagger3.0 接口文档配置指南:4 步生成专业 API 文档 RuoYi-Vue Swagger3.0 接口文档配置指南4 步生成专业 API 文档【免费下载链接】RuoYi-Vue:tada: (RuoYi)官方仓库 基于SpringBootSpring SecurityJWTVue Element 的前后端分离权限管理系统同时提供了 Vue3 的版本项目地址: https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue先看效果 ✨配置完成后启动 RuoYi-Vue 项目打开http://localhost:8080/swagger-ui/index.html接口文档就在页面上自动生成接口按模块分组、请求参数、返回结构一目了然每个接口还带 Try it out 按钮可以直接在线调试。前端不用再追着要参数说明后端也不用手写接口文档文档从代码里长出来永远不会过期。为什么值得配手写接口文档最大的问题是跟不上代码接口一改文档就旧前端拿到的永远是过期版本。接入 Swagger3.0OpenAPI 3.0后文档和代码同仓库维护注解即文档。更实用的是token 粘进去就能在页面直接调真实接口比再开一个 Postman 方便。第 1 步确认开关与扫描范围 ⚙️做什么打开 application.yml确认文档开关已打开并决定哪些控制器包对外展示。springdoc: swagger-ui: enabled: true # 文档页面开关 path: /swagger-ui.html # 文档入口地址 group-configs: - group: default packages-to-scan: com.ruoyi.web.controller.toolenabled决定页面是否可用packages-to-scan决定展示范围RuoYi-Vue 默认只开放tool测试模块系统接口不会暴露给外面。第 2 步核心配置类怎么写做什么SwaggerConfig.java 定义了两个 Bean一个负责文档信息一个负责 Token 认证。RuoYi-Vue 3.9.x 仓库用的是 springdoc-openapi也就是 OpenAPI 3.0 的官方实现Bean public OpenAPI customOpenApi() { return new OpenAPI() .components(new Components() .addSecuritySchemes(apikey, securityScheme()) .addSecurityItem(new SecurityRequirement().addList(apikey))) .info(getApiInfo()); // 标题、描述、版本号 }OpenAPI对象相当于 springfox 时代的Docket旧写法的DocumentationType.OAS_30声明在这里由 springdoc 隐式满足getApiInfo()则对应旧的ApiInfoBuilder。如果你维护的还是老 springfox 版本等价写法是new Docket(DocumentationType.OAS_30) .apiInfo(new ApiInfoBuilder().title(RuoYi-Vue 接口文档).build())Token 认证单独一个 BeanBean public SecurityScheme securityScheme() { return new SecurityScheme() .type(SecurityScheme.Type.APIKEY) .name(Authorization) // 请求头名称 .in(SecurityScheme.In.HEADER) .scheme(Bearer); }效果是文档页面右上角出现 Authorize 按钮填入 token 后每次请求都会自动携带Authorization请求头与 RuoYi-Vue 的 JWT 认证方式完全一致。第 3 步放行静态资源与安全拦截做什么文档页是静态资源接口数据来自/v3/api-docs端点两者都要放行否则会被 Spring Security 拦下。ResourcesConfig.java 声明了静态资源目录registry.addResourceHandler(/swagger-ui/**) .addResourceLocations(classpath:/META-INF/resources/webjars/springfox-swagger-ui/);SecurityConfig.java 放行匿名访问.requestMatchers(/swagger-ui.html, /v3/api-docs/**, /swagger-ui/**, /druid/**).permitAll()这几行缺任何一处页面打开都会返回 401是新手最常踩的坑。第 4 步给接口加上注解做什么控制器类上加分组名每个接口方法上加描述。仓库里的 TestController.java 就是现成范例Tag(name 用户信息管理) RestController RequestMapping(/test/user) public class TestController extends BaseController { Operation(summary 获取用户列表) GetMapping(/list) public RListUserEntity userList() { ... } }实体字段用Schema描述例如文件末尾的UserEntity给每个字段都加了中文名文档页的请求体结构里会直接显示。注解速查 历史上存在两套注解体系一句话旧的是 springfox新的本仓库是 springdoc。用途springfoxSwagger2 时代springdoc本仓库OAS3类上分组描述ApiTag方法上接口描述ApiOperationOperation参数描述ApiImplicitParam / ApiParamParameter / Schema实体字段描述ApiModelPropertySchema看到老教程里的ApiOperation直接换成Operation就能用在当前仓库。验证与排坑 验证三步走启动RuoYiApplication确认enabled: true开关已打开。浏览器访问http://localhost:8080/swagger-ui/index.html也可输入/swagger-ui.html会自动跳转到新页面。登录系统拿到 token点右上角Authorize填入调用/test/user/list应能返回用户列表数据。常见坑页面空白或 404springdoc.swagger-ui.enabled开关没打开老 springfox 版本对应的是swagger.enabledfalse。打开页面报 401SecurityConfig没放行 swagger 相关 URL重点检查/v3/api-docs/**与/swagger-ui/**是否在放行列表里。生产环境误开启文档页会暴露全部接口结构上线前记得把enabled改为false关闭。收尾一套完整的 RuoYi-Vue Swagger 配置就四件事配置类、资源映射、Security 放行、接口注解配完之后接口文档随代码自动生成。如果你在维护其他 Spring Boot 项目这套做法可以直接搬过去用。下期聊聊 RuoYi-Vue 的 JWT token 机制token 如何生成、校验与刷新。【免费下载链接】RuoYi-Vue:tada: (RuoYi)官方仓库 基于SpringBootSpring SecurityJWTVue Element 的前后端分离权限管理系统同时提供了 Vue3 的版本项目地址: https://gitcode.com/GitHub_Trending/ru/RuoYi-Vue创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/20 3:56:13

企业ICT外网互通标准化管理:走向高确定性运维交付

1. 为什么外网互通会成为运维的“老大难”入行第十年,我发现自己最怕的不是核心交换机割接,也不是数据库迁移,而是接到“新开一条外网链路”这种看似简单的工单。原因很简单:核心设备割接有严格的变更流程、有架构评审、有回退方案…

2026/10/20 3:51:13

精准改图AI:从“抽卡式生成”到“指哪改哪”的局部重绘实战

做图这行干久了,都有一种共同的疲惫感:改图最怕的不是复杂,而是不确定性。以前一提AI改图,我第一反应就是抽卡——一张图丢进去,猛写两句提示词,结果十次有八次出来一张好看的图,但完全不是我要…

2026/10/20 3:51:13

本地推理实战:用llama.cpp与ollama部署LFM2.5-1.2B小模型

1. 上手前的心里话:为什么大家都盯着小模型本地推理最近圈子里聊本地大模型,基本绕不开两个东西:llama.cpp 和 ollama。而我这段时间一直在折腾的主角,是 LFM2.5-1.2B 这个模型。别看它只有 1.2B 参数,实测下来每秒能跑…

2026/10/20 5:06:22

YOLOv11结合Slim-Neck:高效目标检测器架构优化与边缘部署实践

YOLOv11 出来之后,我用它刷了几个检测项目,整体确实顺手,但我一直觉得脖子这块有压缩空间。哪怕模型在精度上越做越强,Neck 依旧是整个网络里参数量和计算量的大头。正好手头有个边缘设备上的落地项目,显存和带宽都抠得…

2026/10/20 5:06:22

用LLM+浏览器自动化打造GitHub智能代理:Clawless实战解析

1. 项目背景与需求拆解1.1 为什么我给 GitHub 操作装了一个“智能代理脑”做开发这些年,GitHub 上的日常操作其实非常规整:看 issue、关 issue、拉分支、提交 PR、检查 CI 状态、回复评论。这些操作本身不难,难的是“一天要重复几十次”。尤其…

2026/10/20 5:06:22

TensorFlow实战宝可梦图像分类:从数据清洗到模型部署全流程

1. 项目缘起与整体设计思路宝可梦图像分类这个题目,乍一看像是玩具项目,但真正动手做过的人都知道,它几乎涵盖了图像分类任务中所有典型的坑:类别数量多、类间差异小、类内差异大、数据分布不均衡、背景干扰严重。我当初选这个题目…

2026/10/20 5:06:22

YOLOv11轻量化改造:Slim-Neck特征融合原理与实战

YOLOv11出来之后,我身边的不少开发者都在聊同一个话题:模型越来越大,算力需求越来越高,可现实里的部署场景往往就那么点内存、那么点算力。尤其是在边缘设备、嵌入式平台、实时视频流分析这类环境里,跑大模型根本不现实…

2026/10/20 5:06:22

Codex赋能可视化大屏开发:高效工作流构建与实战指南

做可视化大屏开发这几年,我越来越确认一件事:真正拖慢进度的从来不是某个图表不会写,而是从业务需求到最终成品的反复拉扯。业务方丢来一句话需求,设计师给一版高保真,前端再照着还原,中间任何一环出现理解…

2026/10/20 5:01:22

知识图谱入门:从三元组到大模型检索增强生成实战

1. 知识图谱到底在解决什么问题1.1 从“搜不到”到“问得准”的认知转变很多人第一次接触知识图谱,是被“图谱”两个字吓住的,觉得这玩意儿肯定跟图论、算法、复杂网络这些硬核概念绑在一起。其实你换个角度想就通了:传统搜索引擎给你一堆网页…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑