我已经开始开发一个小型的 springboot 应用程序,我想使用 Swagger 记录它的 API(每个现有端点)。但是,无论我尝试实现哪个版本的 Swagger,我在尝试访问 swagger-ui(以及 Swagger 提供的其他端点)时总是以 404 响应代码告终。如果有人成功解决了该问题或怀疑如何解决该问题,我将不胜感激。如果需要,我会提供有关我的项目的信息。
我尝试过不同的 swagger 版本、url 映射、不同的配置(即使在较新的版本中显然我需要的只是依赖项,但仍然没有用)。
https://github.com/ryszard-urbanek/movie-base - 这是项目的当前状态,下面我给出了我要添加的代码示例
@SpringBootApplication
@EnableSwagger2
public class MovieBaseApplication {
@Bean
public Docket get() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any()) // Updated path
.build()
.host("http://localhost:8080");
}
public static void main(String[] args) {
ApplicationContext context = SpringApplication.run(MovieBaseApplication.class, args);
}
}
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
如果你想继续使用spring boot 3,你可以使用
springdoc-openapi-starter-webmvc-ui
。
这里有一篇文章展示了如何使用 spring boot 和 springdoc build a REST API
应该很简单。只需将以下依赖项添加到您的
pom.xml
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.0</version>
</dependency>
然后将以下属性添加到您的 yaml 配置文件
弹簧文档: 招摇用户界面: 路径:/swagger.html api文档: 路径:/docs