几天前,应用程序正在使用Springfox Swagger 3.0。突然它停止了工作。一周前创建的Jar文件仍然工作,但现在当我们尝试构建一个新的Jar文件时,即使没有任何代码/库更改,它也不工作。我甚至参考了下面的URL,但仍然面临问题。
404 error with swagger-ui and spring webflux
下面给出了我的配置:
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/");
}
}
当我试图打开swagger页面时,我得到404错误。
您的位置:
有人能帮我吗。先谢谢了。
5条答案
按热度按时间dvtswwa31#
实现最近发生了变化(有关这方面的简要更新,请参见从早期快照迁移)。
现在,用户界面在
/swagger-ui
端点(而不是/swagger-ui.html
)下可用。您还应该删除
@EnableSwagger2WebFlux
注解和addResourceHandlers()
方法,删除所有springfox依赖项,只添加一个:eh57zj3b2#
Springboot Rest API中的Swagger-3入门
对于新项目
对于Maven:-
对于Gradle:-
现在没有额外的配置来激活
swagger
的spring-boot项目像以前一样。如果试图配置与安全,有一些配置。请参阅此article。在swagger版本3中,还删除了
@EnableSwagger2
注解基本配置。大多数用户试图使用
{host}/swagger-ui.html
或{host}/swagger-ui
查找HTML swagger文档文件,这些文件现在已被删除。使用
{host}/swagger-ui/
查看HTML文档这是GitHub上的sample project link请参阅文档
io.springfox
roqulrg33#
这就是它对我的作用。我使用的是Intelij IDEA,SpringBoot和Maven。
将Swagger依赖项添加为:
我试着重新加载我的项目,生成源代码和更新文件夹,但是我就是不能安装它。
然后,我还添加了以下依赖项:
而且它工作得很好。而且,我在这里找到了我对问题的结论:
Baeldung
所以最后我在pom.xml文件中得到了这个:
使用Swagger 3.0在浏览器中查看Swagger UI是
网站地址:
希望对某人有帮助:)
63lcw9qa4#
仅使用此依赖项而不使用io.springfox依赖项
现在没有额外的配置来激活swagger对Spring启动项目像以前一样。
在swagger 3.0.0版中,删除 @Configuration 和@EnableSwagger2以及注解。
请使用{host}/swagger-ui/查看HTML文档,{host}/swagger-ui.html或{host}/swagger-ui这些文档现在已被删除。Schneider
txu3uszq5#
好吧,在阅读了所有的东西,并尝试了最后,得到了我的swagger-ui上**/swagger-ui/index.html#**
https://github.com/springfox/springfox-demos/tree/master/boot-swagger