SpringBoot使用swagger出现“Unable to infer base url.”

最近自己在项目中整合swagger3,访问swagger的URL时 http://localhost:8889/swagger-ui/index.html报如下的错误

SpringBoot使用swagger出现“Unable to infer base url.”_第1张图片

网上大多数都是说缺少 swagger 的各种配置导致的,但是我自己单独创建SpringBoot项目集成swagger可以正常访问,说明不是缺少swagger配置导致的。
排查步骤:
1、访问 http://localhost:8889/api/api-docs可以正常返回正确的JSON数据格式
SpringBoot使用swagger出现“Unable to infer base url.”_第2张图片
2、我在项目中使用 ResponseBodyAdvice 全局处理接口返回值的类,主要是对接口返回值做统一处理,导致接口返回 JSON数据格式和 swagger 期望的不一样,造成 swagger 报错。
【解决方法】在该接口实现类上面的 @ControllerAdvice 注解限制接口的扫描包即可避免。然后请求http://localhost:8889/api/api-docs结果如下(与第一步访问的结构不同):
SpringBoot使用swagger出现“Unable to infer base url.”_第3张图片
自己通过这种方式解决了,可能每个人碰到的情况不一样,不过还是需要仔细排查

你可能感兴趣的:(日常小记)