Spring boot配置 swagger的示例代码
作者:XiaoRunStar 发布时间:2023-03-07 13:10:44
标签:Spring,boot,配置,swagger
为什么使用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


猜你喜欢
- 本文通过实例详细阐述了C++关于智能指针的概念及用法,有助于读者加深对智能指针的理解。详情如下:一、简介由于 C++ 语言没有自动内存回收机
- public class TimeUtil { public static final int SECO
- Android的应用被限制为最多占用16m的内存,至少在T-Mobile G1上是这样的(当然现在已经有几百兆的内存可以用了——译者注)。它
- 这是一个介绍基本异常处理的小例子,包括抛出,捕获,断言,日志。Java异常处理通过5个关键字try、catch、throw、throws、f
- 日期和时间,在我们开发中非常重要。DateTime在C#中,专门用来表达和处理日期和时间。本文算是多年使用DateTime的一个总结,包括D
- 一、背景在Web应用开发中,经常需要使用图表来展示数据,而Echarts是一个非常优秀的图表库。SpringBoot是一个非常流行的Java
- 一、MySql实现分页查询的SQL语句 1、分页需求:客户端通过传递pageNo(页码),counter(每页显示的条数)两个参数去分页查询
- Java Function的使用一、方法介绍表示接受一个参数并产生结果的函数。参数类型 T - 函数输入的类型R - 函数的结果类型方法介绍
- 前言JDK 1.5 之前 synchronized 的性能是比较低的,但在 JDK 1.5 中,官方推出一个重量级功能 Lock,一举改变了
- 对象创建的几种方法:使用new关键字使用clone方法反射机制反序列化以上四种都可以产生java对象1,3都会明确的显式的调用构造函数2是在
- ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列
- 关闭时可使用如下代码public static void waitUntilTerminate(final ExecutorService
- 在主Activity中:listview=(ListView)findViewById(R.id.listview);getData();/
- 删除以逗号隔开的字符串中某一个值例如要删除 “1,2,3,4” 中的 2,返回 &ldquo
- 本文接上文“java反射之方法反射的基本操作方法”,利用反射了解下java集合中泛型的本质1、初始化两个集合,一个使用泛型,一个不使用Arr
- 1:Maven命令下载源码和javadocs当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven
- 1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在public static boolean useLi
- 此文通过一段代码来展示java获取相关参数的方法分享给大家:public static void main(String[] args) {
- 下面是我根据海康官方文档代码,放到VS 2022 版本中调试通过后的代码:#include <stdio.h>#include
- 折半查找法仅适用于对已有顺序的数组、数据进行操作!!!(从小到大)自我总结:折半查找法就是相当于(通过改变low或high的大小)把中间位置