編寫了Spring rest apis後,與前端開發人員共享,以便他們可以與之集成。前端開發人員將需要所有其餘的api端點以及每個端點的請求方法,請求參數,請求正文和響應格式。
你將如何分享有關您的api的所有信息?手動記錄所有api是非常困難和耗時的。
此外,如果您手動記錄api,則每次在api中進行一些更改時都必須更改文檔。
好!如果我告訴你,你可以使用一個名為Swagger的神奇工具自動化所有這些東西怎麼辦?
什麼是Swagger?
Swagger是世界上最流行的API框架,支持40多種不同的語言。您可以使用swagger來設計,構建和記錄您的其他api。
在這篇文章中,我們將學習如何使用Swagger來記錄用java和Spring框架編寫的rest apis。
Swagger使用非常少的集成代碼為您的所有其他api創建一個漂亮的交互式文檔。
所以,讓我們將Swagger與Spring結合起來,為我們的休息時間賦予生命。
將Swagger與Spring集成
1.添加Swagger依賴項
Swagger規範由Springfox的java庫實現。
我們需要添加Springfox依賴項來將Swagger與Spring集成。我們將使用Springfox的Swagger 2依賴項來獲取Swagger的最新功能。
如果使用maven,請將以下依賴項添加到pom.xml文件中
如果gradle是您選擇的構建系統,那麼您可以將以下依賴項添加到build.gradle文件中 -
2. Swagger配置
我通常SwaggerConfig.java在config我的應用程式包中創建一個文件,並在此文件中寫入所有Swagger配置 -
該@EnableSwagger2註解被用於使能應用Swagger 2的支持。
所有配置都是通過DocketBean 完成的。你可以給出一個標題,並使用apiInfo配置為你的api寫一個很好的描述。
此外,您可以通過選擇paths與謂詞匹配的內容來決定在文檔中包含哪個api 。
上面的配置足以在Spring啟動應用程式中集成Swagger。您現在可以運行應用程式並轉到/swagger-ui.html端點以訪問swagger文檔。
這就是將Swagger集成到Spring Boot項目中的簡單方法。但是,對於非spring-boot項目,我們需要很少的額外集成代碼。
非Spring Boot的配置
如果您未在項目中使用Spring啟動,則/swagger-ui.html端點將給出404 not found錯誤,因為沒有為此端點配置資源處理程序。
當您將Swagger與Spring引導集成時,它會自動為您配置所有資源處理程序。但是對於Spring,你必須自己做。
幸運的是,這並不難。只需使用以下內容在項目包WebMvcConfig.java內創建一個文件config-
如果你已經擴展WebMvcConfigurerAdapter了項目的某個配置類,那麼只需添加上面的資源處理程序,你就可以了。
這就是讓Swagger在非Spring啟動項目中工作所需要做的一切。請通過/swagger-ui.html在瀏覽器中打開端點來驗證它。
結論
Swagger非常有助於自動記錄您的apis。我幾乎在所有項目中都使用它。在這篇文章中我們將swagger與非常基本的配置集成在一起,但Springfox在記錄你的apis方面提供了很多東西。