有时候在修改接口或者其它代码时运行发现swagger会加载不了接口列表,有时前端也无法调用接口,我遇到过两三次这样的问题了,一般swagger加载不了接口列表,如下图所示:
找不到接口定义。
比较代码,也没有发现问题所在,我就改了一下数据类型,由原来的int改为了decimal,当然这个类型的修改,导致很多地方的数据类型也跟着变化了,查看swagger.json,发现里面的内容是空的,之间也遇到过这种问题,但是接口还是可以调用,只是swagger加载不了接口列表,这次连前端的接口也调用不了,会报404错误。经过不断的重试,我发现了问题所在,我遇到的这几次swagger加载不了接口列表大致原因如下:
1. 接口定义重复了,接口名称相同,参数也相同会导致swagger加载不了,修改一下接口定义即可,这种情况接口还是可以调用的
2.修改了参数类型,不止是接口修改了参数类型,application或者service与接口关联的方法也修改会导致swagger加载不了,连接口都调用不了,解决办法:清理解决方案,重新生成,再次运行即可。
以上是我遇到的swagger接口列表加载失败的问题和解决办法,记录一下,以免下次再遇到,可能写的原因或者解决方案不一定正确,大家如果遇到更好的解决方案或者原因欢迎指正。