You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成Swagger后Swagger-ui页面空白问题求助

解决Spring Boot集成SpringDoc后Swagger UI空白页问题

针对你遇到的访问http://localhost:8081/swagger-ui.html出现空白页的问题,可通过以下步骤排查解决:

1. 修正Spring Security配置

Spring Security默认开启的CSRF保护会拦截Swagger UI的相关请求,导致页面资源加载失败。同时建议明确放行Swagger相关的路径(避免通配符可能带来的潜在问题):

@Configuration
@EnableWebSecurity
public class SecurityConfig {
    @Bean
    public SecurityFilterChain configure(HttpSecurity http) throws Exception {
        http
            .csrf().disable() // 关闭CSRF保护,适配Swagger UI的请求特性
            .authorizeRequests()
                // 明确放行Swagger UI和API文档的所有相关路径
                .antMatchers("/swagger-ui/**", "/v3/api-docs/**", "/swagger-ui.html").permitAll()
                .anyRequest().permitAll();
        return http.build();
    }
}

2. 完善SpringDoc配置(可选但推荐)

在application.properties中明确配置SpringDoc的核心参数,确保加载逻辑正常:

server.port=8081
# 指定Swagger UI访问路径
springdoc.swagger-ui.path=/swagger-ui.html
# 启用API文档生成(默认开启,明确配置更稳妥)
springdoc.api-docs.enabled=true
# 指定API文档接口路径(默认值,可按需修改)
springdoc.api-docs.path=/v3/api-docs

3. 处理自定义WebMvc配置(如果存在)

如果项目中自定义了WebMvcConfigurer,需要确保放行Swagger UI的静态资源,否则会导致页面依赖的CSS/JS无法加载:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/swagger-ui/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/springdoc-openapi-ui/");
    }
}

4. 清理缓存并重启应用

执行项目构建工具的清理命令(如Maven的mvn clean install),清除旧的编译缓存,然后重新启动Spring Boot应用,再次访问Swagger UI地址即可。


内容的提问来源于stack exchange,提问作者kernel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:15:31