没有Spring Security和安全配置的Spring Boot 2.5.6升级到Spring Boot 3,使得swagger无法工作

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

当尝试将我的 Spring Boot 项目从 2.5.6 升级到 3.2.5 时,swagger UI 停止工作。 在版本 2.5.6 中,我没有 spring security 也没有安全配置。我只有 SwaggerConfig :

@Configuration
public class SwaggerConfig {

    @Value("${spring.application.name}")
    private String applicationId;

     @Value("${spring.application.description}")
    private String description;

     @Value("${spring.application.version}")
    private String version;

    @Value("${app.env}")
    private String env;

     @Bean
    public OpenAPI openAPI() {
             return new OpenAPI()
                     .info(apiInfo())
                   .components(new Components());
    }

    private Info apiInfo(){
        Info info= new Info();
            info.setTitle(env + " - " + applicationId);
            info.setDescription(description);
            info.version(version);
        return info;
    }
}

升级到 Spring Boot 3.2.5 后是否需要添加 Spring Security,或者我应该更改我的 SwaggerConfig?还是其他地方有问题?

非常感谢您,祝您有美好的一天。

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

您的情况中的兼容性问题可能是由于 SpringFox 自 2020 年 7 月以来没有更新,其 最新版本 3.0.0 仅支持 Spring Boot 2.0.0。

您可能需要切换到SpringDoc,它与 Spring Boot 3.0.0 及更高版本兼容。

摇篮

implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.2.0'

Maven

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.2.0</version>
</dependency>

Swagger配置

@Configuration
public class SwaggerConfig {

 @Bean
 public OpenAPI openAPI() {
  return new OpenAPI()
   .info(new Info()
    .title("Title of the API")
    .description("Description of the API.")
    .version("Version of the API"));
 }
}

参考文档

  1. Spring boot 3 不适用于 springfox 3.0
  2. https://github.com/springfox/springfox/issues/4017
  3. https://www.baeldung.com/spring-rest-openapi-documentation

祝你有美好的一天 - 凯文

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