几天前,应用程序正在使用 Springfox Swagger 3.0。突然停止工作。一周前创建的 Jar 文件仍在工作,但现在当我们尝试构建一个新的 Jar 文件时,即使没有任何代码/库更改,它也无法正常工作。我什至参考了以下 URL,但仍然面临问题。
swagger-ui 和 spring webflux 出现 404 错误
下面给出我的配置:
POM 文件:
<properties>
<java.version>1.8</java.version>
<springfox.version>3.0.0-SNAPSHOT</springfox.version>
<spring.version>2.3.1.RELEASE</spring.version>
</properties>
<repositories>
<repository>
<id>spring-libs-milestone</id>
<name>Spring Milestone Maven Repository</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-spring-webflux</artifactId>
<version>${springfox.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox.version}</version>
</dependency>
</dependencies>
配置文件:
@Configuration
@EnableSwagger2WebFlux
public class SwaggerConfiguration implements WebFluxConfigurer {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
.description("My Reactive API")
.title("My Domain object API")
.version("1.0.0")
.build())
.enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage("com.reactive.controller"))
.paths(PathSelectors.any())
.build();
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/swagger-ui.html**")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
当我尝试打开招摇页面时出现 404 错误。
http://localhost:8080/swagger-ui.html
有人可以帮我弄这个吗。提前致谢。
原文由 Praveen Dhasarathan 发布,翻译遵循 CC BY-SA 4.0 许可协议
实现最近发生了变化(请参阅 从早期快照迁移 以获取对此的简要更新)。
现在 UI 在
/swagger-ui
端点下可用(不是/swagger-ui.html
)。您还应该删除
@EnableSwagger2WebFlux
注释和addResourceHandlers()
方法,删除所有 springfox 依赖项并仅添加一个: