SpringBoot集成Swagger2页面无法访问情况

本文介绍了在SpringBoot中集成Swagger2时可能会遇到的访问失败问题及其解决方案。当出现无法推断基本url的错误时,通常是因为Swagger未正确开启。解决方法包括在启动类上添加@EnableSwagger2注解,并创建Swagger配置类。此外,当全局返回结果封装影响Swagger页面显示时,可以重写ResponseBodyAdvice避免处理Swagger。通过这些步骤,可以确保Swagger2的正常运行。

Spring Boot 集成 Swagger2 之后会有访问失败情况,比如:
在这里插入图片描述

Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at http://example.org/api/v2/api-docs then the base url is http://example.org/api/. Please enter the location manually:

翻译出来就是

无法推断基本url。这在使用动态servlet注册或API位于API网关之后时很常见。基本url是提供所有swagger资源的根。例如,如果api在以下位置可用:http://example.org/api/v2/api-docs那么基本url是http://example.org/api/.请手动输入位置:

解决方法,开启Swagger2
第一、在SpringBootApplication启动类上加上@EnableSwagger2注解
在这里插入图片描述

第二、创建一个Swagger的配置类,加上 @Configuration 和 @EnableSwagger2
在这里插入图片描述

基本上来说一般访问失败都是没有开启Swagger导致的。

接下来就是其他过滤器拦截器等等导致的失败问题

问题一:
由于对于返回结果做了统一封装,会通过 @RestControllerAdvice 去访问需要的东西,页面解析不出来,因此访问会出错;

重写 ResponseBodyAdvice 的 supports 方法,对Swagger不进行处理
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水超涌也

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值