在項目中使用swagger2生成API確實爲程序員帶來了很多福音,但是在使用過程中,可能會遇到這樣那樣的坑,網上關於swagger2的介紹也有很多,本篇記錄個人在使用過程中踩過的坑,高手可以忽略,不喜勿噴。
1. 訪問swagger的首頁swagger-ui.html 時報錯404。
本地訪問時,查看swagger的配置是否被掃描到,以及使用的swagger註解是否正確完善。
2. 能訪問首頁但是不出接口
要查看掃描包的路徑有沒有錯誤。
3. 訪問swagger首頁成功,但是後臺報錯
沒有進行任何的接口訪問,但是卻出現了NumberFormatException的錯誤,經瞭解個人認爲這個算是swagger2.9.2的一個bug吧。
解決辦法參考博客:https://blog.csdn.net/u011251198/article/details/104920619/
4. Could not resolve reference because of: Could not resolve pointer: /definitions/String does not exist in document
根據錯誤信息顯示的是接口的問題,此時要檢查swagger註解中配置的參數變量和方法的形參變量是否一致,有時在複製粘貼時或許會有失誤。
5. 項目配置登錄攔截後,導致swagger的靜態資源訪問不了。
把swagger的靜態資源解除攔截:.excludePathPatterns("/swagger-resources/**", "/swagger-ui.html/**");
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor).addPathPatterns("/**")
.excludePathPatterns("/swagger-resources/**", "/swagger-ui.html/**");
}
不積跬步無以至千里,後續遇到問題會繼續總結更新。相信正在努力的你也一定會在這條路上走的更遠更好更穩!!!