Unable to infer base url. This is common when using dynamic servlet registration or when the API

本文分享了在使用Swagger2时遇到的浏览器报错问题及其解决方案。通过对比不同配置类,发现添加包扫描路径设置可以有效解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在跟着尚硅谷的一个微服务做项目的时候,使用Swagger2打开浏览器一直报错,http://localhost:8080/swagger-ui.htm

首先你得保证

1、在启动类或配置类上加@EnableSwagger2注解

2、包扫描注解@ComponentScan注解,例如我的是

    

3、添加SwaggerConfig配置类

@Configuration//配置类
@EnableSwagger2 //swagger注解
public class SwaggerConfig {

    @Bean
    public Docket webApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("webApi")
                .apiInfo(webApiInfo())
                .select()
                .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
                .paths(Predicates.not(PathSelectors.regex("/error.*")))
                .build();

    }
    private ApiInfo webApiInfo(){

        return new ApiInfoBuilder()
                .title("网站-课程中心API文档")
                .description("本文档描述了课程中心微服务接口定义")
                .version("1.0")
                .contact(new Contact("java", "http://atguigu.com", "1123@qq.com"))
                .build();
    }
}

但是还是报错,找了很久,突然在某个优快云的博客上看到别人的配置类跟我的代码不一样,其中有一行

.apis(RequestHandlerSelectors.basePackage("com.atguigu")),应该是设置包的扫描路径,但是我不是在启动类上加了@ComponentScan(basePackages = {"com.atguigu"})了吗?但还是试了一下,加上这一句之后便没报错了,可能是是要限制这个SwaggerConfig配置类作用的包路径。具体加的位置如下

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值