当前位置: 首页 > news >正文

【JAVA】Spring3.x中的swagger配置基础教程

在学习spring3.x版本的mybatis-plus的时候,使用swagger做接口文档,发现项目起不来,结果是Knife4j用的还是之前spring2,x的版本,导致一直报错

Knife4j官网文档

配置代码

  • com.gaofeng.config.Knife4jConfig
packagecom.gaofeng.config;importio.swagger.v3.oas.models.OpenAPI;importio.swagger.v3.oas.models.info.Info;importio.swagger.v3.oas.models.info.License;importorg.springdoc.core.models.GroupedOpenApi;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@Configuration// 启用 Swagger2publicclassKnife4jConfig{@BeanpublicOpenAPIcustomOpenAPI(){returnnewOpenAPI().info(newInfo().title("外太空ai智能体接口管理系统").version("1.0.0").contact(newio.swagger.v3.oas.models.info.Contact().email("596642721@qq.com").name("gaofeng")).description("Knife4j集成springdoc-openapi示例").termsOfService("http://doc.xiaominfo.com").license(newLicense().name("Apache 2.0").url("http://doc.xiaominfo.com")));}@BeanpublicGroupedOpenApiapi4(){returnGroupedOpenApi.builder().group("regularGrade-module-api").pathsToMatch("/users/**").displayName("后台管理系统的用户模块接口").packagesToScan("com.gaofeng.mp.controller")//xxx1模块接口所在包.build();}}

输入localhost:8080显示效果

c层的显示

packagecom.gaofeng.mp.controller;importcom.gaofeng.mp.domai.po.User;importcom.gaofeng.mp.services.IUserService;importio.swagger.v3.oas.annotations.Operation;importio.swagger.v3.oas.annotations.Parameter;importio.swagger.v3.oas.annotations.Parameters;importio.swagger.v3.oas.annotations.enums.ParameterIn;importio.swagger.v3.oas.annotations.tags.Tag;importlombok.RequiredArgsConstructor;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("users")@Tag(name="用户信息接口")publicclassUserController{privateIUserServiceuserService;@Operation(summary="根据id获取用户")@Parameters({@Parameter(name="id",description="用户id",in=ParameterIn.PATH)})@GetMapping("/{id}")publicUsergetUserById(@PathVariableLongid){returnuserService.getById(id);}}

dto层

packagecom.gaofeng.mp.domai.dto;importio.swagger.v3.oas.annotations.Parameter;importlombok.Data;@DatapublicclassUserFormDTO{@Parameter(description="用户id")privateLongid;@Parameter(description="用户名")privateStringusername;privateStringpassword;privateStringphone;privateStringinfo;privateIntegerbalance;}

具体的字段注解可以参考官网完整的实例,跟spring2.x的语法已经完全不一样了,破坏性的更新

application.yml

springdoc:api-docs:enabled:truepath:/v3/api-docsswagger-ui:enabled:truepath:/swagger-ui.htmlknife4j:enable:truesetting:language:zh_cn

启动成功

http://www.jsqmd.com/news/557174/

相关文章:

  • 文明狭义论与广义论
  • QWEN-AUDIO性能优化指南:让语音合成速度提升50%的实用技巧
  • Easysearch ZSTD 基准测试:高压缩率下实现近 5 倍查询吞吐
  • 3分钟搞定全网音乐歌词下载与管理的终极指南:网易云音乐与QQ音乐歌词批量处理
  • three-csg-ts:三维布尔运算的优雅解决方案
  • 保姆级避坑指南:在Ubuntu 22.04上搞定奥比中光AstraPro深度相机与ROS2 Humble的驱动配置
  • WPF颜色转换器实战:如何用ConverterParameter动态切换UI主题色(附完整代码)
  • Vue项目里图片403报错?试试在index.html里加这行meta标签
  • 告别轮询延时!在RTOS里优雅处理AT24C02的Write Cycle等待
  • 2026年铝方通铝扣板应用白皮书家居吊顶篇:青岛铝方通格栅、青岛铝方通隔断、青岛集成吊顶铝扣板、青岛U型铝方通选择指南 - 优质品牌商家
  • 避坑指南:Android虚拟摄像头开发中JPG转YUV的SELinux权限与符号链接问题全解析
  • 记一次SQL server2008 数据库事务日志已满,导致程序崩溃排查过程
  • 2026年工业防火门市场测评:五大实力厂商深度解析与选型指南 - 2026年企业推荐榜
  • 突破平台限制:开源工具WorkshopDL实现Steam创意工坊内容自由获取
  • EfficientNet实战:如何在移动端部署B0-B7模型(附显存优化技巧)
  • LlamaIndex中文文档全解析:从安装到实战RAG系统的保姆级指南
  • Outline数据迁移架构深度解析:5大策略构建企业级知识库无缝迁移方案
  • 从单任务到持续学习:AI原生应用的演进之路
  • 通达信数据接口实战指南:用MOOTDX构建量化投资数据引擎
  • OpenClaw+GLM-4.7-Flash内容创作实测:从选题到发布的自动化链路
  • 4大维度重塑数据库实验流程:让命令行成为数据库管理的瑞士军刀
  • 3大突破!LxgwWenKai如何解决嵌入式系统中文显示难题?
  • Iono系列工业PLC模块:Arduino生态的工业级演进
  • 航拍小目标检测入门必看:YOLOv8 VisDrone实战第一阶段,基线mAP从32%提升至58%
  • Python内存修复黄金法则(CPython内存管理内核级解析)
  • 新手也能看懂的LMXCMS 1.4代码审计:从MVC架构入手,一步步挖出两个后台RCE漏洞
  • Vita3K模拟器完整入门指南:快速解决常见问题并优化游戏体验
  • 从滞后补偿器到PI控制:原理、设计与系统性能优化
  • 学习C#调用Microsoft.ML.OnnxRuntime+OpenCvSharp+YOLO26进行目标检测的基本用法
  • PCB打样总是延误?试试捷配PCB制作,又快又稳