使用Swagger生成在线文档

news/2025/3/15 0:56:04/

目录

1:Swagger介绍

2:使用

2.1:swaager集成boot依赖

2.2:配置文件中配置相关信息

2.3:在启动类中加入相关注解

2.4:测试

3:swagger常用注解


1:Swagger介绍

在前后端分离开发中通常由后端程序员设计接口,完成后需要编写接口文档,最后将文档交给前端工程师,前端工程师参考文档进行开发。

可以通过一些工具快速生成接口文档 ,通过Swagger生成接口在线文档 。

什么是Swagger?

        OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful服务开发过程,目前版本是V3.0,并且已经发布并开源在github上。(GitHub - OAI/OpenAPI-Specification: The OpenAPI Specification Repository)

        Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,Swagger是一个在线接口文档的生成工具,前后端开发人员依据接口文档进行开发。 (API Documentation & Design Tools for Teams | Swagger)

Spring Boot 可以集成Swagger,Swaager根据Controller类中的注解生成接口文档 ,只要添加Swagger的依赖和配置信息即可使用它。

2:使用

2.1:swaager集成boot依赖

在API工程添加swagger-spring-boot-starter依赖

        <!-- Spring Boot 集成 swagger --><dependency><groupId>com.spring4all</groupId><artifactId>swagger-spring-boot-starter</artifactId><version>1.9.0.RELEASE</version></dependency>

2.2:配置文件中配置相关信息

在引导配置文件 bootstrap.yml中配置swagger的扫描包路径及其它信息,base-package为扫描的包路径,扫描Controller类。

# swagger 文档配置
swagger:title: "好课在线系统管理"description: "系统管理接口"base-package: com.xuecheng.systemenabled: trueversion: 1.0.0

2.3:在启动类中加入相关注解

在启动类中添加@EnableSwagger2Doc注解

@EnableSwagger2Doc
@SpringBootApplication
public class SystemApplication {public static void main(String[] args) {SpringApplication.run(SystemApplication.class,args);}
}

2.4:测试

启动服务:

 可以看到文档页面已正常显示,但是可读性不是很高,可以使用swaager提供的一些注解来增强接口文档的可读性。

3:swagger常用注解

Swaager的常用注解如下:

在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下:

 @Api:修饰整个类,描述Controller的作用
 @ApiOperation:描述一个类的一个方法,或者说一个接口
 @ApiParam:单个参数描述
 @ApiModel:用对象来接收参数
 @ApiModelProperty:用对象接收参数时,描述对象的一个字段
 @ApiResponse:HTTP响应其中1个描述
 @ApiResponses:HTTP响应整体描述
 @ApiIgnore:使用该注解忽略这个API
 @ApiError :发生错误返回的信息
 @ApiImplicitParam:一个请求参数
 @ApiImplicitParams:多个请求参数

测试使用:

在类中添加注解,在方法上添加注解,增加可读性

@Slf4j
@RestController
@Api(value = "系统字典",tags = "系统字典查询接口")
public class DictionaryController  {@Autowiredprivate DictionaryService  dictionaryService;@ApiOperation("查询所有字典中的信息")@GetMapping("/dictionary/all")public List<Dictionary> queryAll() {return dictionaryService.queryAll();}@ApiOperation("查询指定编码所对应的详情信息")@GetMapping("/dictionary/code/{code}")public Dictionary getByCode(@PathVariable String code) {return dictionaryService.getByCode(code);}
}


http://www.ppmy.cn/news/48328.html

相关文章

【华为OD机试 2023最新 】最大利润(C语言题解 )

文章目录 题目描述输入描述输出描述用例题目解析C语言题目描述 商人经营一家店铺,有number种商品, 由于仓库限制每件商品的最大持有数量是item[index] 每种商品的价格是item-price[item_index][day] 通过对商品的买进和卖出获取利润 请给出商人在days天内能获取的最大的利润…

系统可用性——冗余就够了吗?

导言 为了提高系统的可用性&#xff0c;如今很多集成商都号称采用了冗余设备来满足客户需求&#xff0c;乍一看产品性能提高不少。当我们再回顾其产品时&#xff0c;不禁要思考两个问题&#xff1a; 系统真的做到冗余了吗&#xff1f;仅仅使用冗余就够了吗&#xff1f; 回答…

量子力学、波函数与量子计算:揭开宇宙微观奥秘的神奇之门

在一个遥远的星球&#xff0c;生活着一群拥有超自然力量的智慧生物。他们能够随心所欲地让物体在空间瞬移&#xff0c;甚至能够预测未来。有一天&#xff0c;一位地球科学家意外穿越到了这个星球。经过一番了解&#xff0c;科学家惊奇地发现&#xff0c;他们所掌握的这种神奇力…

大厂面试-算法优化:冒泡排序你会优化吗?

关注公众号&#xff1a;”奇叔码技术“ 回复&#xff1a;“java面试题大全”或者“java面试题” 即可领取资料 原文&#xff1a;冒泡排序及优化代码 https://blog.csdn.net/weixin_43989347/article/details/122025689原文&#xff1a;十大经典排序算法 https://frxcat.fun/p…

大数据数仓维度建模

目录 维度建模分为三种&#xff1a; 1、星型模型&#xff1a; 2、雪花模型&#xff1a; 3、星座模型&#xff1a; 模型的选择&#xff1a; 维度表和事实表&#xff1a; 维度表&#xff1a; 维度表特性 &#xff1a; 事实表&#xff1a; 事实表特性&#xff1a; 事务型…

KDXJ-8 SF6气体泄漏报警在线检测系统

一、功能特点 1. 定量测量SF6&#xff08;六氟化硫&#xff09;气体浓度&#xff1b; 2. 定量测量O2&#xff08;氧气&#xff09;气体浓度&#xff1b; 3. 定量测量大气温湿度&#xff1b; 4. 可根据需要设置SF6和O2气体浓度的报警点&#xff1b; 5. 后台监控&#xff1b; 6.…

电脑不限时长的录屏软件分享

案例&#xff1a;有没有录屏软件不限时长录制视频&#xff1f; “今天的视频会议特别重要&#xff0c;我想用录屏的方式记录下来。在网上下载了一个录屏软件&#xff0c;录到3分钟的时候&#xff0c;需要解锁高级功能才能继续录制。想问问大家有没有电脑免费不限时长的录屏软件…

\r与\n详解

在 C 语言中&#xff0c; 回车符可以用 “\r” 来表示&#xff0c; 换行符可以用 “\n” 来表示。 例如&#xff0c;在代码中使用 printf() 函数输出 “Hello\r\nWorld”&#xff0c;那么输出的结果将会是&#xff1a; Hello World其中&#xff0c;"\r\n" 表示一个回…