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

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

第一個問題spring

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

可是就是沒有出現網上的效果,沒有出現Controller裏寫的那些API說明,json

效果是這樣的:api

緣由:學習

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

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來管理指定包裏的註解,spa

可是呢,Spring不認Swagger的註解,因此,才致使出現上面的狀況。code

解決:component

將指定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時,遇到的兩個問題,這裏作一個記錄。

相關文章
相關標籤/搜索