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

如何解决Apache Camel Spring Boot中Swagger UI 404问题?

解决Apache Camel Spring Boot中Swagger UI 404问题

1. 补全Swagger UI依赖

官方rest-openapi-springdoc示例可能未包含Swagger UI的starter依赖,这是导致404的常见原因。在你的构建文件中添加对应依赖:

Maven(pom.xml)

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <!-- 版本需与springdoc核心依赖匹配,比如用2.2.0适配Spring Boot 3+Java17 -->
    <version>2.2.0</version>
</dependency>

Gradle(build.gradle)

implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'

2. 配置Swagger UI访问路径(按需)

如果你的应用设置了自定义上下文路径(比如server.servlet.context-path=/my-api),需要在application.properties或application.yml中显式指定Swagger UI的路径:

application.properties

springdoc.swagger-ui.path=/swagger-ui.html

application.yml

springdoc:
  swagger-ui:
    path: /swagger-ui.html

3. 排除Camel路由对Swagger UI路径的拦截

检查Camel的REST配置,确保/swagger-ui/**和/v3/api-docs/**(OpenAPI文档接口)没有被Camel的路由拦截。在Camel配置类中添加排除规则:

@Configuration
public class CamelRestConfig extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        restConfiguration()
            .component("servlet")
            .contextPath("/api") // 你的API上下文路径
            .apiContextPath("/openapi") // 你的OpenAPI文档路径
            // 排除Swagger相关路径,避免被Camel处理
            .endpointProperty("excludePatterns", "/swagger-ui/**,/v3/api-docs/**");
    }
}

4. 确保静态资源可访问

如果自定义了Spring Boot的静态资源配置,需要手动映射Swagger UI的静态文件路径:

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

5. 验证Java 17版本兼容性

确保使用的springdoc-openapi版本支持Java 17,推荐使用2.0.0及以上版本,这类版本已适配Java 17和Spring Boot 3.x环境。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:30:22