Java / Spring:如何快速生成整个Swagger记录的CRUD REST API
作為開發人員,我們在日常生活中經常面臨的最繁瑣的任務之一就是編寫良好且易于理解的文檔。 無論我們的文檔只有幾行來解釋功能的核心功能,還是表明系統的來龍去脈的成熟文章都沒關系。 重要的是,我們試圖通過文檔傳達的信息是準確且可理解的。
在上一篇文章中 ,我們討論了自動REST API生成的主題。 更準確地說,我們演示了如何使用Speedment的經過改進的Spring Integration插件為您的數據庫生成完整的CRUD REST API。
今天,我們將使這一知識更進一步,并演示如何通過一次單擊即可為REST API生成交互式文檔。
如果您沒有機會使用Speedment Spring插件,我們強烈建議您閱讀上一篇文章,因為該文章包含遵循本指南的必要信息。
您喜歡Java Streams嗎?
如果對這個問題的回答是“是!”,“絕對!” 或“哎呀!”,那么Speedment是適合您的工具。 Speedment是Java ORM工具箱和運行時,它使用純Java Streams作為應用程序和數據庫之間的接口。
除了已經熟悉的Streams API之外,Speedment還為最終用戶提供了圖形化工具,以便在幾秒鐘內生成數據庫的Java表示,從而使他們完全可以停留在僅Java的環境中。
如果您想進一步了解Speedment,請前往
文檔頁面上 ,您將找到大量指南和示例。 在本文的其余部分,我們將重點介紹Speedment的Spring插件的新更新。
開始之前
為了生成REST API文檔,Speedment使用了OpenAPI規范和Swagger UI的組合。
根據您是否從頭開始,準備步驟會有所不同,但是無論起點如何,最終結果都是相同的。
如果您已按照上一篇文章中的指南進行操作,我們在其中解釋了如何使用Speedment生成REST API,則只需向項目的pom.xml文件添加幾個依賴項:
< dependencies > ... < dependency > < groupId >io.springfox</ groupId > < artifactId >springfox-swagger2</ artifactId > < version >2.9.2</ version > </ dependency > < dependency > < groupId >io.springfox</ groupId > < artifactId >springfox-swagger-ui</ artifactId > < version >2.9.2</ version > </ dependency > ... </ dependencies >另一方面,如果您是從頭開始的話,請轉到Initializer ,在這里您將能夠在Spring支持下生成Speedment項目。 到達Initializer后,將為您提供大量用于配置項目的選項。 一個特別重要的配置選項是Initializer的Plugins部分。
要在新的Speedment項目中啟用Spring支持,請選中“ Spring”選項旁邊的復選框。 對項目配置滿意后,繼續并單擊初始化器底部的“下載”按鈕。
準備就緒后,可以通過從項目模板的根文件夾執行以下命令來啟動Speedment Tool:
mvn speedment:tool如果正確安裝了插件,則會看到一些特定于Spring Boot的選項,可用于配置REST API和文檔。
如果這是您第一次使用Speedment,則可能需要遵循“ Hello Speedment ”快速入門指南來熟悉工作流程。
昂首闊步的自動機
對于以下示例,我們將使用MySQL示例數據庫Sakila。 您可以將其下載為獨立實例或Docker容器。
當您打開Speedment Tool并成功連接到數據庫時,將為您提供一個用戶界面,其中包含有關數據庫的元數據信息以及一些您可以配置的選項:
如果單擊頂部橫幅中的“ Generate”按鈕,將生成數據庫的Java表示。 要為您的REST API生成文檔,必須啟用在項目視圖中找到的“生成REST文檔”選項(可通過選擇樹中的頂部節點來訪問該選項)。
啟用后,其他配置選項將變為可用,使您可以進一步自定義生成的文檔:
下次重新生成Spring項目時,將生成一些特定于OpenAPI的配置。 為了查看和使用生成的文檔,您需要運行Spring應用程序。 為此,執行以下命令:
mvn spring-boot:run一旦您的Spring應用程序啟動并運行,您就可以在以下端點http:// localhost:8080 / swagger-ui.html上找到生成的Swagger文檔。
根據您配置項目的方式,在生成的文檔中可能會看到不同的結果。 例如,如果禁用某個表的REST API生成,則下次重新生成項目時,該表的端點將在文檔中不可用。
借助生成的Swagger文檔,您可以立即了解您的應用程序已注冊了哪些REST終結點,每種終結點可使用的HTTP方法,并直接從Swagger UI對這些終結點執行HTTP請求:
如果不確定請求正文中需要什么,可以在文檔底部“模型”部分下找到請求正文模型:
注意:連接到Swagger端點時,如果出現以下提示,請確保您的Spring入口點位于正確的程序包中(必須在Swagger配置所在的程序包上方或相同的程序包中):
通常,這表明Spring未掃描您的Swagger配置。
摘要
編寫良好且易于理解的文檔可能是一個漫長而乏味的過程。 借助Speedment的Spring Boot插件的新更新,用戶可以在幾秒鐘內為其REST API生成交互式文檔。
資源資源
文章“如何快速生成整個數據庫CRUD REST API”
Speedment Initializer能夠生成項目模板 在GitHub上加速
s
Per Minborg
米斯拉夫·米利切維奇(MislavMili?evi?)
翻譯自: https://www.javacodegeeks.com/2020/03/java-spring-how-to-generate-an-entire-swagger-documented-crud-rest-api-with-speedment.html
總結
以上是生活随笔為你收集整理的Java / Spring:如何快速生成整个Swagger记录的CRUD REST API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10一键重装哪个好Win10一键重
- 下一篇: Java 14的新功能