swagger采坑记录

2020-07-23  本文已影响0人  7d972d5e05e8

一、swagger-ui.html正常显示但doc.html空白

注意:我的doc.html不是404,说明在后端我配置了doc.html。如下:

        registry.addResourceHandler("doc.html")
                .addResourceLocations("classpath:/META-INF/resources/");

然后,我就去浏览器查看请求接口状态。如下:


image.png

最重要的接口,如下:都是正常的。


image.png

然后,我就猜想是不是右上角的4个js错误导致的。然后就点击进去查看,如下:


image.png

发现JS在解析json的时候失败。我们知道这里解析JSON数据就是上面api-docs接口返回的数据。并且在json的97978位置解析失败。然后把json数据copy到subline,找到97978位置的字符串。如下:

image.png

找到json解析失败的原因了,就是自己在swagger的example属性上设置了非法json标签,导致js解析失败。

问题找到了,修改后端代码,把该example属性的值删掉。重启后,再次访问doc.html,接口文档就显示出来了。

PS:整个排查过程耗费了蛮长时间,主要最开始没往浏览器JS解析失败上想。查看接口状态都是200,就继续回到后端排查。压根没想到去看看右上角的JS错误。以后在遇到这种后端没有明显异常,前端也要怀疑,不能完全相信前端没问题。

问题解决起来其实很简单,但是寻找问题耗费时间,特别是排查方向不对。

上一篇下一篇

猜你喜欢

热点阅读