Spring Boot引入Swagger并对界面进行美化
Swagger是一个接口文档生成工具,在前后端分离的开发中经常会用到,下面就来介绍下Swagger的使用:
引入依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
配置Swagger
新建一个SwaggerConfig文件,输入
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Swagger3接口文档")
.description("这里是描述信息")
.contact(new Contact("JoeyHua", "https://home.cnblogs.com/u/joeyhua", "1601939052@qq.com"))
.version("1.0")
.build();
}
}
使用注解
在项目的Application文件中添加@EnableOpenApi注解
@EnableOpenApi
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication .class, args);
}
}
在Controller文件中添加@Api和@ApiOperation注解
@Api(tags = "Demo")
@RestController
@RequestMapping("/demo")
public class DemoController {
@ApiOperation("sayHello")
@GetMapping("/sayHello")
public String sayHello() {
return "Hello";
}
}
运行程序,浏览器访问http://ip:port/swagger-ui/index.html即可看到效果
美化Swagger文档界面
原生的Swagger文档界面有些简陋,可以使用knife4j美化界面,只需引入依赖即可
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.9</version>
</dependency>
这里要注意,knife4j的页面地址和原生地址不同,为http://ip:port/doc.html#/home,访问即可看到效果
小福利
最近写了一个前端Service文件自动生成工具,输入Swagger文档的地址即可自动生成Service文件,支持主流的HTTP客户端库,如axios和umi-request,支持生成TS文件,感兴趣的同学可以看一下。
github地址:https://github.com/huajiayi/openapi-tool
相关博客:https://www.cnblogs.com/joeyhua/p/15357143.html
Spring Boot引入Swagger并对界面进行美化的更多相关文章
- 【Swagger】可能是目前最好的 Spring Boot 集成 swagger 的方案
[Swagger]可能是目前最好的Spring Boot集成 swagger 的方案 - Spring Boot整合Swagger
一.本文介绍 如果Web项目是完全前后端分离的话(我认为现在完全前后端分离已经是趋势了)一般前端和后端交互都是通过接口的,对接口入参和出参描述的文档就是Mock文档.随着接口数量的增多和参数的个数增加 ...
- Spring boot集成Swagger,并配置多个扫描路径
Spring boot集成Swagger,并配置多个扫描路径 1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目 ...
- Spring Boot整合Swagger报错:"this.condition" is null
前段时间看到群里有吐槽swagger整合问题,当时没仔细看,总以为是姿势不对. 这两天正好自己升级Spring Boot版本,然后突然出现了这样的一个错误: Caused by: java.lang. ...
- Spring Boot 集成Swagger
Spring Boot 集成Swagger - 小单的博客专栏 - CSDN博客https://blog.csdn.net/catoop/article/details/50668896 Spring ...
- spring boot引入json,jsonobject,需要指定jdk15
spring boot引入json,需要指定jdk15 <dependency> <groupId>net.sf.json-lib</groupId> <ar ...
随机推荐
- DDL和客户端ip监控
DDL触发器监控脚本部署步骤 以下操作请使用sys用户: --第一步:创建表(此表主要保存ddl触发器产生的信息),可以根据不同的业务,使用相关的监控用户,在此监控用户为c##upctest 从可维护 ...
- vue-父子组件之传值和单项数据流问题
前言 我们知道 vue 中父子组件的核心概念是单项数据流问题,props 是单项传递的.那究竟什么是单项数据流问题,这篇文章来总结一下关于这个知识点的学习笔记. 正文 1.父组件传值给子组件 < ...
- 通俗易懂讲解Word2vec的本质
本文首发于微信公众号「对白的算法屋」,来一起学AI叭 一.Word2vec CBOW(Continuous Bag-of-Words):每个词的含义都由相邻词决定. Skip-gram:依据分布的相似 ...
- Java基础(四)——抽象类和接口
一.抽象类 1.介绍 使用关键字 abstract 定义抽象类. abstract定义抽象方法,只有声明,不用实现. 包含抽象方法的类必须定义为抽象类. 抽象类中可以有普通方法,也可以有抽象方法. 抽 ...
- eBPF 安全项目 Tracee 初探
1. Tracee 介绍 1.1 Tracee 介绍 Tracee 是一个用 于 Linux 的运行时安全和取证工具.它使用 Linux eBPF 技术在运行时跟踪系统和应用程序,并分析收集的事件以检 ...
- 20210713考试-2021noip13
这位巨佬的博客还是比我好多了 T1 工业题 考场: 暴力挺香的,不想正解了. 题解: $f(i,j)$ 只会得到 $f(i-1,j)$ 和 $f(i,j-1)$ 的贡献.每向右一步乘 $a$ ,向下一 ...
- python 给多个变量赋值
# assign values directly a = b = 'hello' a, b = 1, 2 print(b, type(b)) assert a == 1 and b == 2 # as ...
- Java单例-双重检查锁
问题引入 Java中实现单例模式,一般性的做法是如下方式: class Singleton { private static Singleton INSTANCE = null; private Si ...
- Spring Boot学习(一)——Spring Boot介绍
Spring Boot介绍 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式 ...
- ClickOnce手动更新
if (ApplicationDeployment.IsNetworkDeployed == true) { ApplicationDeploy ...