记一次Swagger页面报错/error 404的排查过程

记一次Swagger页面报错/error 404的排查过程

使用springfox-swagger-ui展示的页面如下:

在这里插入图片描述
说是没有为/error这个路径指明确定的映射.
前后端使用的json传输数据格式,我也确实没有编码哪个controller中包含/error这样的映射,如果是框架把它当做页面的转发,那我也没有一个这样的ViewModel,而且我的控制层明确使用的是@RestController,不是转发页面的Controller.
所以问题出在Maven引用和配置文件上.

Maven引用

在这里插入图片描述
这个引用不会有问题,原因很简单–使用者众多,而且已经更新到这个版本了,若有问题早就有更新版本覆盖了
网上有很多人都遇到过Swagger-ui.html页面加载不出来的情况,大部分也都是404,很多帖子都是在WebMvcConfig里配置addResourceHandlers加载静态资源,Swagger的配置类上加@EnableSwagger2注解,以及明确RequestHandlerSelectors基础包的扫描路径这一套操作.后来我在解决了这个问题后自己试了一下,Swagger的配置类肯定是要中规中矩的按API描述配置,但是WebMvcConfig却可以不用配置也能出页面.
那就是别的地方的配置文件导致了页面出不来.

一步步排查config包下的配置文件,最终发现关于FastJsonConfig的配置类如果注释掉,Swagger页面会正常显示,
我的FastJsonConfig是继承自WebMvcConfigurationSupport后重写
configureMessageConverters方法的,重写的方法里不涉及/error映射,所以最终是因为WebMvcConfigurationSupport里的方法产生的问题.
现在为了使用configureMessageConverters方法里的json转换功能,产生了额外的耦合,所以换个思路,自己写一个fastJson的配置类,不继承WebMvcConfigurationSupport,说不定就能解决问题.于是我的最终的json配置类改成了这样的:
在这里插入图片描述
启动OK,页面出来了:
在这里插入图片描述
另外,这个swagger-ui可以与swagger-bootstrap-ui并存互补,各自单独显示也都不影响:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值