Spring boot配置 swagger的示例代码
作者:XiaoRunStar 时间:2023-03-07 13:10:44
为什么使用Swagger
在实际开发中我们作为后端总是给前端或者其他系统提供接口,每次写完代码之后不可避免的都需要去写接口文档,首先写接口文档是一件繁琐的事,其次由接口到接口文档需要对字段、甚至是排版等。再加上如果我们是为多个系统提供接口时可能还需要按照不同系统的要求去书写文档,那么有没有一种方式让我们在开发阶段就给前端提供好接口文档,甚至我们可以把生成好的接口文档暴露出去供其他系统调用,那么这样我只需要一份代码即可。
Spring boot配置 swagger
1.导入maven依赖
<!--配置swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<!--swagger第三方ui-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
2.swagger配置类
@EnableSwagger2 // Swagger的开关,表示已经启用Swagger
@Configuration // 声明当前配置类
public class SwaggerConfiguration {
@Value("${swagger.basePackage}")
private String basePackage; // controller接口所在的包
@Value("${swagger.title}")
private String title; // 当前文档的标题
@Value("${swagger.description}")
private String description; // 当前文档的详细描述
@Value("${swagger.version}")
private String version; // 当前文档的版本
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(basePackage))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title(title)
.description(description)
.version(version)
.build();
}
}
3.application.yml
# 配置swagger
swagger:
basePackage: com.xx.demo.controller #包名
title: 标题 #标题
description: 项目文档 #描述
version: V1.0 #版本号
4.在controller里使用
@Api(tags = {"测试类"})
@RestController
@RequestMapping("/test")
public class TestController {
@ApiOperation(value = "测试方法")
@GetMapping("/xrx")
public String xrx() {
return "hello";
}
}
5.访问swagger
http://localhost:8080/swagger-ui.html
http://localhost:8080/doc.html
来源:https://blog.csdn.net/weixin_45223244/article/details/120351028
标签:Spring,boot,配置,swagger
0
投稿
猜你喜欢
C#中using指令的几种用法
2022-01-25 01:35:25
android如何改变editText控件中部分文字的格式
2023-08-24 18:58:36
C++中const的实现细节介绍(C,C#同理)
2022-10-21 19:43:12
Java编程实现帕斯卡三角形代码示例
2023-11-02 08:08:24
Android 10 启动之servicemanager源码解析
2023-05-16 15:04:53
Android自定义view之围棋动画效果的实现
2022-05-07 17:36:38
一文带你搞懂Redis分布式锁
2021-09-26 12:56:14
Android Fragment概述及用法
2022-08-23 15:54:22
android 进度条组件ProgressBar
2023-10-20 15:05:33
Android实现照片墙效果的实例代码
2023-01-20 16:53:37
SpringBoot Data JPA 关联表查询的方法
2021-08-08 13:59:23
Monaco Editor实现sql和java代码提示实现示例
2023-01-31 16:59:48
java中的实体类时间格式化
2022-05-18 02:18:19
C#反射之基础应用实例总结
2023-08-29 04:50:56
Android自定义广播接收
2023-04-30 09:39:31
SpringBoot如何使用RateLimiter通过AOP方式进行限流
2023-09-16 18:18:44
java获取时间的方法总结
2022-03-28 15:36:38
C# 静态构造函数使用总结
2022-04-28 16:27:35
Android Fragment实现底部通知栏
2023-12-25 21:01:33
C#实现把科学计数法(E)转化为正常数字值
2022-09-06 23:41:47