Swagger2使用
- 使用步骤
新建项目
导入所需依赖
编写控制层,测试页面跳转
编写swapper配置类
启动测试:http://localhost:8080/swagger-ui.html
- 配置swagger信息
-
配置扫描接口
-
在开发和测试时使用swagger,在生产环境中不使用swagger
编写多个外部配置文件,分别时默认、开发、测试、生产,在默认配置文件application.properties中激活要使用的环境
在swagger配置类中获取当前环境
- 启动项目时报错:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
# 报错原因:spring boot与swagger的版本冲突,应选择合适的版本
# 解决方案:这里springboot是2.3.0,swagger应使用2.9.2
<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>
- 在shiro项目中使用swagger时,启动项目后无法访问swagger测试页面,这是因为swagger的资源被拦截了,找不到页面时会跳转到shiro默认的登录页面
# 解决方案:在shiro配置类中放行swagger有关的资源
map.put("/swagger-ui.html/**", "anon");
map.put("/swagger-resources/**", "anon");
map.put("/v2/**", "anon");
map.put("/webjars/**", "anon");
map.put("/swagger/**", "anon");