一、前言
springboot集成swagger,所有配置都配置好之后,访问:http://localhost:8080/swagger-ui/
出现弹窗报错如下图:
二、问题定位分析
1、 查看是否配置了拦截器,如果配置了,则放行swagger的相关请求。
"/swagger-resources/**"
,"/webjars/**"
,"/v2/**"
,"/swagger-ui.html/**"
2、未加@EnableSwagger2配置。
3、项目中使用了全局统一处理类即@ControllerAdvice或ResponseBodyAdvice,会导致接口返回JSON数据格式和swagger期望的不一样,造成swagger报错。
三、解决方式
解决方法很简单,在代码上加上你自己扫描包的范围,因为@ControllerAdvice主要是拦截controller层,所以我们只让它扫描controller即可。
修改完毕,重启服务,即可。