【springboot】使用swagger生成接口文档

1. 添加依赖

      <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version></dependency>

        这里我老是添加不上这个依赖,搜索了下发现阿里云公共仓库中没有这个依赖,所以一直找不到。(阿里云仓库搜索)

        于是修改了下maven的setting文件,添加了阿里云的中心仓库的镜像。

      <mirror><id>aliyunmaven-central</id><mirrorOf>*</mirrorOf><name>阿里云中心仓库</name><url>https://maven.aliyun.com/repository/central</url></mirror>

2. 配置swagger

@Configuration
@ComponentScan
public class SwaggerConfig {@Beanpublic OpenAPI customOpenAPI() {return new OpenAPI().info(new Info().title("API文档").version("1.0").description("Spring Boot 3.2.8项目的API文档").contact(new Contact().name("huan").email("developer@example.com")).license(new License().name("Apache 2.0").url("http://springdoc.org"))).externalDocs(new ExternalDocumentation().description("外部文档").url("https://example.com/docs"));}
}

        配置完以上内容,访问localhost:8080/swagger-ui/index.html,可以跳转以下页面。

3. 使用Swagger注解来描述API

        控制器类

@RestController
@RequestMapping("resfood")
//@Tag注解用于为API接口分组,并提供分组的名称和描述
@Tag(name = "菜品api",description = "菜品管理相关接口")
public class ResfoodController {@Autowiredprivate ResfoodService resfoodService;//{fid}结合@PathVariable实现rest风格url@GetMapping("getById/{fid}")public Map<String,Object> getById(// @PathVariable注解用于将请求路径中的参数绑定到方法参数上@PathVariable Integer fid){Map<String,Object> map = new HashMap<>();Resfood resfood = null;try {resfood = resfoodService.getById(fid);}catch (Exception e){e.printStackTrace();//设置状态码和提示信息map.put("code",0);map.put("msg","查询失败"+e.getCause());return map;}map.put("code",1);map.put("obj",resfood);return map;}
}

一些注解

  • @Tag注解:用于为API接口分组,并提供分组的名称和描述。

        控制类

        显示效果

  • @Operation注解:提供关于该方法操作的简要和详细描述。

        控制类

        显示效果

  • @ApiResponse注解:提供该方法的响应信息,如HTTP 响应码、响应的描述信息、响应的内容等。
    • @Content注解:描述响应的内容。
    • @Schema注解:指定响应内容的模式。

        控制类方法

        显示效果

4. 访问Swagger UI

        再次访问localhost:8080/swagger-ui/index.html,发现多了一些东西。

        展开可以看到以下信息。

5. 测试

        可以在swagger ui中发送测试数据,测试获得的响应json是否正确。打开某个请求路径,使用Try it out 按件后可以设置要测试的参数。

        Execute后可以得到响应结果。

        响应结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/416922.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅活动!南开大学赵宏教授倾情分享AI挑战下的教育教学新理念与新方法

人工智能是科技发展的前沿领域&#xff0c;也是推动新质生产力形成的关键动力。当前&#xff0c;各个高校正积极探索人工智能对高等教育的改革&#xff0c;以培养适应未来社会发展需求的新型人才。 本次活动旨在传播 AI 挑战下的教育教学新理念与新方法&#xff0c;推动人才培养…

【MySQL】深圳大学数据库实验一

目录 一、实验目的 二、实验要求 三、实验设备 四、建议的实验步骤 4.1 使用SQL语句创建如上两张关系表 4.2 EXERCISES. 1 SIMPLE COMMANDS 4.3 EXERCISES 2 JOINS 4.4 EXERCISES 3 FUNCTIONS 4.5 EXERCISES 4 DATES 五、实验总结 5.1 数据库定义语言&#xff08;DDL…

Java健康养老智慧相伴养老护理小程序系统源码代办陪诊陪护更安心

健康养老&#xff0c;智慧相伴 —— 养老护理小程序&#xff0c;代办陪诊陪护更安心 &#x1f308;【开篇&#xff1a;智慧养老&#xff0c;新时代的温馨守护】&#x1f308; 在这个快节奏的时代&#xff0c;我们总希望能给予家人更多的关爱与陪伴&#xff0c;尤其是家中的长…

物联网技术推动灌区智能化管理

物联网技术&#xff0c;作为信息技术革命的重要组成部分&#xff0c;正深刻地改变着传统行业的运作模式&#xff0c;其中在农业灌溉领域的应用尤为显著&#xff0c;为灌区的智能化管理开辟了新径。这一技术通过将传感器、智能网关、大数据分析与云平台紧密融合&#xff0c;实现…

使用uni-app开发微信小程序

一、前提环境 1.1 &#xff1a;uniapp开发文档&#xff1a;https://uniapp.dcloud.net.cn/quickstart-cli.html 细节都在这一页&#xff0c;这里不过多解释 二、开发工具下载 2.1 微信开发者工具 下载链接&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/dev…

【软考】设计模式之代理模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.代理模式&#xff08;Proxy Pattern&#xff09;。2.意图&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。3.通过提供与对象相同的接口来控制对这个对象的访问。4.是设计模…

是德KEYSIGHT3458A 8.5位万用表Agilent3458a资料介绍

Agilent 3458A、Keysight 3458A、HP 3458A 万用表、8.5 位 特征&#xff1a; 高达 100,000 个读数/秒内部测试设置>340/秒可编程积分时间从 500 纳秒到 1 秒 更快的测试&#xff1a; 更高的测试产量&#xff1a; 更高精度&#xff0c;满足更严格的测试要求高达 8.5 位分辨…

企业财税自动化解决方案如何提升财务效率与准确性

近年来&#xff0c;数字化转型将企业推到了时代的风口浪尖&#xff0c;对于企业而言&#xff0c;只有快速适应互联网时代的变革&#xff0c;学会利用数字信息&#xff0c;才能在竞争激烈的商业环境中脱颖而出。随着技术的不断发展&#xff0c;财务自动化解决方案成为企业实现这…

AUTO TECH 2025 华南展 第十二届广州国际汽车零部件加工技术及汽车模具展览会——探索未来出行的创新动力

AUTO TECH 2025 华南展 第十二届广州国际汽车零部件加工技术及汽车模具展览会——探索未来出行的创新动力 随着全球汽车工业的不断进步和新能源汽车技术的迅猛发展&#xff0c;2025年11月20-22日在广州保利世贸博览馆将迎来一场行业瞩目的盛会——2025 第十二届广州国际汽车零部…

Windows下基于VMware虚拟机安装Ubuntu20.04系统

Windows下基于VMware虚拟机安装Ubuntu20.04系统 前言安装VMware软件安装Ubuntu20.04下载Ubuntu镜像安装镜像 结语 前言 本教程旨在帮助想要接触linux的道友&#xff0c;为诸位道友们连接进入linux世界的桥梁&#xff0c;从此可以在linux的世界里任意翱翔&#xff0c;本博客为笔…

基于Tomcat的JavaWeb(ASP)项目构建(图解)

目录 配置IDEA的TOMCAT环境 环境设置 导入API(可选) 创建项目 构建项目 ​编辑 运行项目 项目结果 ​编辑 查看配置基础项目 配置IDEA的TOMCAT环境 环境设置 导入API(可选) 创建项目 构建项目 运行项目 项目结果 查看配置基础项目 了解Web Application: Exploded与…

JS设计模式之“语言之魂” - 原型模式

前言 当我们学习JavaScript的时候&#xff0c;经常会听到原型&#xff08;prototype)、原型链&#xff08;prototype chain&#xff09;和原型模式&#xff08;prototype pattern&#xff09;这些概念&#xff0c;它们之间有什么关联呢&#xff1f;怎么样才能使用好原型模式呢…

Unity数据持久化 之 反序列化2进制

Unity数据持久化 之 序列化C#类为2进制-CSDN博客 本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正​​ 有了序列化&#xff0c;肯定也要反序列化来用 反序列化文件流 pub…

逆向工程核心原理 Chapter27 | 代码注入

代码注入知识点 代码注入与DLL注入的区别 代码注入和DLL注入的区别在于&#xff1a;我们必须把参数也注入目标进程。 DLL注入不需要考虑参数地址&#xff0c;只需要考虑LPTHREAD_START_ROUTINE的地址和DLL字符串地址&#xff0c; 是因为参数在DLL里面&#xff0c;目标进程加…

如何在算家云搭建ChatGLM3(智能对话)

一、ChatGLM3 简介 ChatGLM3 是一款先进的语言模型&#xff0c;它通过增强的语言理解、逻辑推理和数学计算能力&#xff0c;提供了更精准的问题解答和更流畅的对话体验。 模型支持多模态交互&#xff0c;能够处理图像与文本的结合&#xff0c;同时拥有深化的知识图谱&#xf…

海洋运输船5G智能工厂物联数字孪生平台,推进制造业数字化转型

海洋运输船5G智能工厂物联数字孪生平台&#xff0c;推进制造业数字化转型。在当今全球制造业的浪潮中&#xff0c;数字化转型已成为不可逆转的趋势&#xff0c;它不仅重塑了生产流程&#xff0c;更深刻影响着企业的竞争力与可持续发展能力。其中&#xff0c;海洋运输船5G智能工…

SprinBoot+Vue在线商城微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平…

50ETF期权和股指期权有什么区别?ETF期权应该怎么做?

今天期权懂带你了解50ETF期权和股指期权有什么区别&#xff1f;ETF期权应该怎么做&#xff1f;ETF是对个股期权&#xff0c;股指期权是对应该股指期货的&#xff0c;那么股指期权和etf期权有什么区别&#xff1f; 股指期权怎么交易 股指期权交易要开通股指期货账户&#xff0…

k8s 部署 jenkins【详细步骤】

文章目录 部署介绍部署步骤第 1 步:创建 namespace第 2 步:创建 ServiceAccount第 3 步:创建持久卷第 4 步:创建 Deployment第 5 步:创建 Service第 6 步:浏览器访问 Jenkins第 7 步:修改默认时区参考⭐ 本文目标:在 k8s 集群中部署一个 jenkins。 部署介绍 🚀 在 K…

C盘红了怎么办?C盘快满了怎么办?如何提高电脑运行速度?

在电脑的日常使用中&#xff0c;C盘红了&#xff08;也就是C盘满了&#xff09;&#xff0c;那是常有的事&#xff0c;本文将详述一下&#xff0c;C盘红了之后的多种处理方法&#xff0c;只要你看完了&#xff0c;就必有一款适合你。 一、系统自带的磁盘清理 当你的C盘红了&…