【发布时间】:2020-10-23 12:00:56
【问题描述】:
我正在尝试将 swagger 包含在 Spring Boot Web Flux 应用程序中。我在配置文件中包含了以下代码。它工作正常。但现在它无法解决错误
f90bda5c-2] 出现意外错误(类型=未找到, 状态=404)。 org.springframework.web.server.ResponseStatusException: 404 未找到 org.springframework.web.reactive.resource.ResourceWebHandler.lambda$handle$0(ResourceWebHandler.java:325) 抑制: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:错误有 在以下站点观察到:|_ checkpoint ⇢ HTTP GET "/swagger-ui.html" [ExceptionHandlingWebHandler] 堆栈跟踪:在 org.springframework.web.reactive.resource.ResourceWebHandler.lambda$handle$0(ResourceWebHandler.java:325)
***@Configuration
@EnableSwagger2WebFlux
public class SwaggerConfig implements WebFluxConfigurer {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.genericModelSubstitutes( Mono.class, Flux.class, Publisher.class)
.select()
.paths( PathSelectors.any())
.apis(RequestHandlerSelectors.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/");
}
}***
我删除了 addResourceHandlers 方法并尝试了,但它仍然没有加载 /swagger-ui.htmlwith 并给出相同的 404 错误。
这里有什么错误?
【问题讨论】:
标签: swagger swagger-ui spring-webflux