在学习swagger的过程中,从maven仓库中,导入最新的swagger包,如下:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
但是,在其他配置完全正确的情况下,在访问http://localhost:8080/swagger-ui.html时,会报404错误。
原因如下:
在swagger3.0中,swagger-ui.html的位置发生了变化,下图为swagger2.x与swagger3.0版本的区别:
解决方案:
在主程序上添加@EnableOpenApi 并且访问http://localhost:8080/swagger-ui/index.html
注意:在添加@EnableOpenApi 注解时,会报错,这是因为找不到相关依赖。
解决办法:去掉下面依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
添加springfox-boot-starter依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
<dependency>
运行结果如下: