「这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战」
1.1 配置Swagger-ui页面的基本信息
由于没有set方法,所以只能使用构造器进行设置
不过一般需要设置的的地方很少,都是固定写法就可以了
1 | java复制代码@Configuration |
1.2 配置Swagger扫描接口
也就是配置扫描Controller和对应的返回值
使用链式的写法在创建Docket的时候传入其中作为参数
1 | java复制代码 |
问题
如何做到swagger在生产环境中使用,在发布的环境中不使用
判断是不是生产环境
- 使用springBoot自带的设置环境的方法,创建多个配置文件application.properties
- 在主配置文件中指定当前的激活的环境是哪个
spring.profiles.active=dev
,dev就是application-xxx.properties
中的xxx - 在代码中获取当前的环境,再进行判断是否是生产环境
1
2
3
4java复制代码//在创建Docket的时候让其传入一个Environment对象,注意是springframe的包下的
Profiles profiles=Profiles.of("dev","test");
boolean flag=environment.acceptsProfiles(profiles);
//这样如果是dev环境,就会返回true
注入enable()
1 | java复制代码return new Docket(DocumentationType.SWAGGER_2) |
这样之后,只需要在配置文件中确定当前是在哪个环境就可以改变是否会显示Swagger
在创建Docket的时候可以传入一个.groupname("组名")
来设置当前的文档是在哪个组下的
如何配置多个组?
如果有多个Docket实例就会有多个组,这样就会出现很多个组在右上角的索引中
总结
最后的config
1 | java复制代码package com.ymy.swagger.config; |
这样的话,就需要设置当前的环境是在dev的环境下才可以看到swagger
如果不设置就使用下面这个
1 | java复制代码 |
本文转载自: 掘金