spring boot整合swagger遇到的问题

问题1:进入swagger页面只显示上边栏

1、问题发现:最开始一直在百度上找原因,但是总找不到,后面突发奇想去检查页面发现页面的一个js有错误,

http://localhost:8001/swagger-resources/configuration/ui 该资源报404错误

img

2、解决方法: 参考 https://blog.csdn.net/weixin_40197494/article/details/80726259

原因:版本不匹配

img

​ 我是因为在不同模块引入了不同的版本导致错误,将所有模块的版本改成一致就可以解决问题

问题2:问题一解决后重新进入发现该错误

img

  1. 解决方法一:这个问题我在百度上找了好久,最后找到一个解决方法 参考https://www.4spaces.org/swagger-error-unable-to-infer-base-url/

​ 此方法说在启动类上加注解 @EnableSwagger2 我试了一下发现可以进入swagger,但是它进入的是swagger默认的配置,也就是自己swagger配置文件没有生效。

  1. 解决方法二:
  • 问题发现:要想自己配置的swagger生效需要启动类扫描swagger配置类所在文件,但是我的swagger配置类所在的无法被启动类扫描,因为我的swagger配置类和启动类不在一个模块。根据视频上的操作,将swagger配置类所在的模块导入到启动类中还是无法被扫描到。
    参考 https://blog.csdn.net/TTTiaotiao/article/details/103790928
    img

  • 问题发现:我尝试将swagger配置类所在的模块编译并打包,发现swagger配置类所在的模块是灰色的
    img

    解决方法:参考 https://blog.csdn.net/weixin_45928961/article/details/103436505

操作完成后发现将swagger配置类所在的包可以被扫描。

原文地址:https://www.cnblogs.com/13490-/p/15480546.html