Spring Sw 2.2.4应用程序,使用Swagger

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

我有一个使用Spring Boot 2.2.4.RELEASE的REST应用程序。我的REST控制器带有注释,例如

@RestController
@RequestMapping("/")

我的REST控制器具有@GetMapping@PostMapping等,它可以正常工作。

现在,我想在最新版本中集成Swagger。https://github.com/swagger-api/swagger-corehttps://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Getting-started

我在其中显示的Maven依赖项已添加到pom.xml:

<dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-core</artifactId>
    <version>2.1.1</version>
</dependency>
<dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-annotations</artifactId>
    <version>2.1.1</version>
</dependency>
<dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-models</artifactId>
    <version>2.1.1</version>
</dependency>
<dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-integration</artifactId>
    <version>2.1.1</version>
</dependency>

[根据'入门',仅添加依赖项,我应该在http://localhost:8080/openapi.json处看到生成的OpenAPI,但在那里什么都没显示。

Swagger(在2.1.1版本中为swagger-core,...)可用于Spring Boot Web应用程序吗?

有一个项目SpringFox,但它不是最新的。也可以使用springdoc-openapi。但是直接使用Swagger是我的第一个想法。

java spring-boot swagger-ui swagger-2.0
1个回答
0
投票

您的代码中将需要SwaggerConfig文件。

Swagger for Java中所需的配置如下:(请注意,这只是基本文件,您可以根据需要配置它。)

@EnableSwagger2
@Configuration
public class SwaggerConfig {

    public static String bucketName;

    @Value("${swagger.config.basePackage}")
    public void setName(String name) {
        bucketName = name;
    }

    @Bean
    public Docket classifiedApi()
    {
        ArrayList<ApiKey> apiKeys=new ArrayList<>();
        apiKeys.add(apiKey());
        return new Docket(DocumentationType.SWAGGER_2).securitySchemes(apiKeys)
                .select()
                .apis(RequestHandlerSelectors.basePackage(bucketName))
                .build()
                .apiInfo(metaData());
    }

    private ApiKey apiKey() {
        return new ApiKey("Api Key", Constants.JWTToken.API_KEY, "header");
    }

    private ApiInfo metaData() {
        return new ApiInfoBuilder()
                .title("APPNAME REST API")
                .description("Spring Boot REST API for APPNAME")
                .contact(new Contact("YOURNAME ", "Coming Soon ...", "CONTACT ADDRESS"))
                .build();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.