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

Swagger无法登录提示Unable to infer base url问题求助

问题根源

Springfox Swagger2 2.10.5 完全不兼容Spring Boot 3.x,核心原因是:

  • Springfox 2.x基于Java EE(javax.*)API开发
  • Spring Boot 3.x升级到Jakarta EE(jakarta.*)规范,包名彻底变更,两者底层依赖无法适配
    这才是触发"Unable to infer base url"错误的关键,你之前尝试的版本更换、pathMapping调整都没触及根本问题。
解决方案

方案1:替换为SpringDoc OpenAPI(推荐)

SpringDoc是当前维护活跃、完美支持Spring Boot 3.x和Jakarta EE的API文档工具,替代已停止维护的Springfox。

步骤1:更新Maven依赖

移除所有Springfox相关依赖,添加SpringDoc的依赖:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.2.0</version> <!-- 适配Spring Boot 3.x的最新稳定版 -->
</dependency>

步骤2:简化配置类

SpringDoc无需@EnableSwagger2WebMvc注解,配置类可简化为:

@Configuration
public class OpenApiConfig {
    @Bean
    public OpenAPI trainBookingOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("Train Booking API")
                        .description("API для управления бронированием билетов на поезд")
                        .version("1.0"));
    }
}

步骤3:访问Swagger UI

启动项目后,访问以下地址即可:
http://localhost:8080/swagger-ui/index.html

方案2:降级Spring Boot到2.x版本

如果必须继续使用Springfox 2.10.5,只能将Spring Boot版本降级到2.x(比如2.7.14,支持Java 17),同时调整pathMapping为"/"(控制器已有/tickets的@RequestMapping,重复设置会导致路径异常):

@Bean
public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.mycompany.trainbooking.controller"))
            .paths(PathSelectors.any())
            .build()
            .apiInfo(apiInfo())
            .host("localhost:8080")
            .pathMapping("/"); // 改为根路径
}

启动后访问:http://localhost:8080/swagger-ui.html

额外检查
  • 确认控制器类在com.mycompany.trainbooking.controller包下,且方法上标注了@GetMapping/@PostMapping等请求注解
  • 查看项目启动日志,确保没有Springfox相关的加载报错信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:49:51