Swagger (API框架,API 文档 与API 定义同步更新)
1.依赖

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.7</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2.注册bean
@Configuration //表明配置类
@EnableSwagger2 //开启
public class SwaggerConfig {
@Bean //配置了Swagger的Bean实例
public Docket docket(Environment environment){ //不同环境下Swagger开启或关闭
//获取项目环境
Profiles of = Profiles.of("dev", "test");
// 判断当前是否处于该环境
// 判断是否在这个环境下,是则true
boolean flag = environment.acceptsProfiles(of); return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()// 通过.select()方法,去配置扫描接口,RequestHandlerSelectors 配置如何扫描接口
.apis(RequestHandlerSelectors.basePackage("com.ljm.controller"))
//.basePackage 指定包 (常用)
// .any() 全部的包
// .none() 不扫描接口
// 通过方法上的注解扫描,如withMethodAnnotation(GetMapping.class)只扫描get请求
//.withMethodAnnotation(final Class<? extends Annotation> annotation)
// 通过类上的注解扫描,如.withClassAnnotation(Controller.class)只扫描有controller注解的类中的接口
//withClassAnnotation(final Class<? extends Annotation> annotation)
// 配置如何通过path过滤,即这里只扫描请求以/kuang开头的接口
// .paths(PathSelectors.ant("/kuang/**"))
.build()
.groupName("akagi") //会在浏览器右上角选择框内出现 可以设置多个docket用不同的groupName
.enable(flag) //关闭swagger,不能在浏览器访问
;
}
}
3.配置

//配置页面信息
private ApiInfo apiInfo(){ return new ApiInfo("我的Api文档",
"头顶的星空和",
"1.0",
"www.baidu.com",
new Contact("AKAGI", "URL", "7788@qq.com"), // 作者信息
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList());
}
4.测试
http://localhost:8080/swagger-ui.html
5.配置多个分组 (同时也可以配置多个ApiInfo)

@Bean
public Docket docket1() {
return new Docket(DocumentationType.SWAGGER_2).groupName("group1");
}
@Bean
public Docket docket2() {
return new Docket(DocumentationType.SWAGGER_2).groupName("group2");
}
@Bean
public Docket docket3() {
return new Docket(DocumentationType.SWAGGER_2).groupName("group3");
}
注释
实体类
@ApiModel
@ApiModelProperty
@ApiOperation
@ApiParam




Swagger (API框架,API 文档 与API 定义同步更新)的更多相关文章
- Java | Spring Boot Swagger2 集成REST ful API 生成接口文档
Spring Boot Swagger2 集成REST ful API 生成接口文档 原文 简介 由于Spring Boot 的特性,用来开发 REST ful 变得非常容易,并且结合 Swagg ...
- 【开源】.Net Api开放接口文档网站
开源地址:http://git.oschina.net/chejiangyi/ApiView 开源QQ群: .net 开源基础服务 238543768 ApiView .net api的接口文档查看 ...
- 利用未文档化API:RtlGetNtVersionNumbers 获取系统版本号
问题一:Windows SDK 8.1版本中的VersionHelper.h文件当中没有IsWindows10ORGreater,所以当你用IsWindows8Point1ORGreater判断出版本 ...
- 在线文档转换API word,excel,ppt等在线文件转pdf、png
在线文档转换API提供word,excel,ppt等在线文件转pdf.png等,文档:https://www.juhe.cn/docs/api/id/259 接口地址:http://v.juhe.cn ...
- 关于ASP.NET Web Api的HelpPage文档注释问题
关于ASP.NET Web Api的HelpPage文档注释问题 以前我用微软的HelpPage来自动生成的webAPI帮助文档.在使用了一段时间后发现只能显示Controller上面写的注释文档内容 ...
- 源生API解析XML文档与dom4j解析XML文档
一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可 ...
- vue文档全局api笔记1
全局api方法 1.Vue.extend(options) 请注意,extend创建的是一个组件构造器,而不是一个具体的组件实例.所以他不能直接在new Vue中这样使用: new Vue({comp ...
- Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- VUX 移动前端框架使用文档
VUX 移动前端框架使用文档 https://owlaford.gitbooks.io/vux-mobile-framework/content/index.html
- 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理
Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...
随机推荐
- 深度学习应用篇-自然语言处理[10]:N-Gram、SimCSE介绍,更多技术:数据增强、智能标注、多分类算法、文本信息抽取、多模态信息抽取、模型压缩算法等
深度学习应用篇-自然语言处理[10]:N-Gram.SimCSE介绍,更多技术:数据增强.智能标注.多分类算法.文本信息抽取.多模态信息抽取.模型压缩算法等 1.N-Gram N-Gram是一种基于统 ...
- Python 使用XlsxWriter操作Excel
在数据处理和报告生成的领域中,Excel 文件一直是广泛使用的标准格式.为了让 Python 开发者能够轻松创建和修改 Excel 文件,XlsxWriter 库应运而生.XlsxWriter 是一个 ...
- 驱动开发:WinDBG 配置内核双机调试
WinDBG 是在windows平台下,强大的用户态和内核态调试工具,相比较于Visual Studio它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能却比VS更为强大, ...
- Python 实现 WebSocket 通信
WebSocket 协议主要用于解决Web前端与后台数据交互问题,在WebSocket技术没有被定义之前,前台与后端通信需要使用轮询的方式实现,WebSocket则是通过握手机制让客户端与服务端建立全 ...
- Windows 7 Ultimate with Service Pack 1 (x64)
Windows 7 Ultimate with Service Pack 1 (x64) 链接:https://pan.baidu.com/s/1ZHODDFlJPLQ3ydxZ4rfc3g 提取码: ...
- 求助:Docker怎么连接mongoDB?
首先 在playwithDocker中通过docker pull mongo引入mongo 然后创建容器 docker run -it --name mymongo -p 27017:27017 -v ...
- 数学和CNN里面的卷积和互相关
卷积和互相关 nndl上CNN这章的互相关讲的比较晦涩,简单辨析一下书上的互相关 A.1 数学意义上的卷积就是将卷积核进行翻转之后再进行我们熟悉CNN上的卷积运算 同时互相关就是不将卷积核翻转直接CN ...
- 21.1 动态TLS--《Windows核心编程》
应用程序通过调用一组4个函数来使用动态 TLS,这些函数实际上最经常为 DLL 所使用. 通常情况下,如果DLL使用 TLS,那么当它用 DLL_PROCESS_ATTACH 标志调用它的 DllMa ...
- TDD学习笔记(二)单元测试
单元测试 定义 单元测试最早来源于Kent Beck,他在开发SmallTalk中引入了这个概念,随着软件工程学的不断发展,使得单元测试已经成为软件编程中一项非常有用的实践. 在维基百科中," ...
- Mysql 8.0 Navicat连接Mysql报错Authentication plugin ‘caching_sha2_password‘ cannot be loaded
1.终端登陆MySQL$ mysql -u root -ppassword #登入mysql 2.修改账户密码加密规则并更新用户密码ALTER USER 'root'@'localhost' IDEN ...