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 定义同步更新)的更多相关文章

  1. Java | Spring Boot Swagger2 集成REST ful API 生成接口文档

      Spring Boot Swagger2 集成REST ful API 生成接口文档 原文 简介 由于Spring Boot 的特性,用来开发 REST ful 变得非常容易,并且结合 Swagg ...

  2. 【开源】.Net Api开放接口文档网站

    开源地址:http://git.oschina.net/chejiangyi/ApiView 开源QQ群: .net 开源基础服务  238543768 ApiView .net api的接口文档查看 ...

  3. 利用未文档化API:RtlGetNtVersionNumbers 获取系统版本号

    问题一:Windows SDK 8.1版本中的VersionHelper.h文件当中没有IsWindows10ORGreater,所以当你用IsWindows8Point1ORGreater判断出版本 ...

  4. 在线文档转换API word,excel,ppt等在线文件转pdf、png

    在线文档转换API提供word,excel,ppt等在线文件转pdf.png等,文档:https://www.juhe.cn/docs/api/id/259 接口地址:http://v.juhe.cn ...

  5. 关于ASP.NET Web Api的HelpPage文档注释问题

    关于ASP.NET Web Api的HelpPage文档注释问题 以前我用微软的HelpPage来自动生成的webAPI帮助文档.在使用了一段时间后发现只能显示Controller上面写的注释文档内容 ...

  6. 源生API解析XML文档与dom4j解析XML文档

    一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可 ...

  7. vue文档全局api笔记1

    全局api方法 1.Vue.extend(options) 请注意,extend创建的是一个组件构造器,而不是一个具体的组件实例.所以他不能直接在new Vue中这样使用: new Vue({comp ...

  8. Effective Java 第三版——56. 为所有已公开的API元素编写文档注释

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  9. VUX 移动前端框架使用文档

    VUX 移动前端框架使用文档 https://owlaford.gitbooks.io/vux-mobile-framework/content/index.html

  10. 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理

    Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...

随机推荐

  1. Go语言的100个错误使用场景(21-29)|数据类型

    目录 前言 3. Data types 3.5 低效的切片初始化(#21) 3.6 切片为 nil 与为空混淆(#22) 3.7 没有正确检查切片是否为空(#23) 3.8 错误的切片拷贝(#24) ...

  2. hv_balloon: Balloon request will be partially fulfilled. Balloon floor reached

    windows 的hyper-v 安装了 centos 或者龙蜥 操作系统,会一直提示这个信息: hv_balloon: Balloon request will be partially fulfi ...

  3. ElasticSearch7.3学习(十二)----type底层结构及弃用原因

    1.type是什么 type,是一个index中用来区分类似的数据的.类似的数据,但是可能有不同的fields,而且有不同的属性来控制索引建立.分词器.field的value. 在底层的lucene中 ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (193)-- 算法导论14.3 1题

    一.用go语言,写出作用于区间树的结点且在 〇(1) 时间内更新 max 属性的过程 LEFT-ROTATE 的伪代码. 文心一言: 以下是一个简单的LEFT-ROTATE的伪代码,它对一个二叉搜索树 ...

  5. 虚拟机 VMware Workstation 16 PRO 的网络配置

    原文地址: https://blog.csdn.net/weixin_41905135/article/details/123858658 (一)VMware编辑虚拟网络 ​ 默认情况下,VMware ...

  6. [Java]Map接口有关总结

    Map接口 1.HashMap和Hashtable的区别 线程安全方面.HashMap是非线程安全的,Hashtable是线程安全的.因为Hashtable内部方法基本都经过synchronized修 ...

  7. win10远程桌面连接,使用正确的用户名和密码仍然不能成功连接

    最近笔记本重置后,台式使用"远程桌面连接"远程笔记本失败了,总是提示"登录没有成功". 开始自查:win10专业版,允许远程的相关设置也都开了,连接的ip正确, ...

  8. ABC 333

    ABCDE 赛时 AC. F 列方程:\(f_{i,j}\) 表示有 \(i\) 个人,第 \(j\) 个人最终活下来的概率. \(f_{i,1}=\dfrac{1}{2}f_{i,i}\),因为只有 ...

  9. NC15065 小牛vs小客

    题目链接 题目 题目描述 小牛和小客玩石子游戏,他们用n个石子围成一圈,小牛和小客分别从其中取石子,谁先取完谁胜,每次可以从一圈中取一个或者相邻两个,每次都是小牛先取,请输出胜利者的名字(小牛获胜输出 ...

  10. java 从零开始手写 redis(11)clock时钟淘汰算法详解及实现

    前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(三)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...