用于 springboot 应用程序的 OpenAPI Swagger

问题描述 投票:0回答:1

我已经开始开发一个小型的 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 swagger swagger-ui swagger-2.0 swagger-3.0
1个回答
0
投票

Springfox 还不适用于 spring boot 3

如果你想继续使用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

© www.soinside.com 2019 - 2024. All rights reserved.