Spring MVC 整合Swagger的一些問題總結


在做Spring MVC 整合swagger的時候,遇到的兩個問題:

第一個問題

在網上找了一些Spring MVC 和Swagger的例子,照着一步步的配置,結果,到最后,項目都起來了,沒有任何問題,

但是就是沒有出現網上的效果,沒有出現Controller里寫的那些API說明,

效果是這樣的:

原因:

在Spring的配置文件中,對包管理的配置是這樣寫的:

1 <context:component-scan base-package="com.koonet.qxtn" use-default-filters="true">
2   <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
3</context:component-scan>

也就是說,這里聲明了Spring來管理指定包里的注解,

但是呢,Spring不認Swagger的注解,所以,才導致出現上面的情況。

解決:

將指定Spring管理注解的去掉,直接寫成這樣:

1 <context:component-scan base-package="com.koonet.qxtn"/>

這樣的話,swagger的注解也能被引入的swagger相關類識別,最終完成一系類操作,展現出我們想要的。(這里只是我的推測)

 

 

第二個問題

項目配置沒有問題,啟動不報錯,但是頁面顯示的是

Can't read swagger JSON from http://localhost:8080/swagger/api-docs

字面意思好理解,就是無法讀取swagger的json數據,

那么為什么會這樣呢?                                                                              

修改swagger的index.html里的

url = "http://petstore.swagger.io/v2/swagger.json";

是修改成

url = "http://{ip}:{port}/{projectName}/api-docs";

但是呢,使用IDEA部署的項目是沒有項目名的,也就是說,在本地部署的話,直接寫成

url = "http://localhost:8080/api-docs";

就沒有問題了。

這是我在學習使用swagger時,遇到的兩個問題,這里做一個記錄。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM