Spring Boot 2.0 集成Swagger2開發RESTful風格的Web服務

很多開發人員都不喜歡寫文檔!在他們根深蒂固的觀念中,寫文檔就是浪費時間,還不如直接寫代碼酣暢淋漓的痛快!尤其是對於Java後臺開發人員而言,維護一份接口文檔,更是一件痛不欲生的事情!接口太多了,變化太多了,改完代碼還要改文檔。流程不規範的團隊,經常會出現這樣的情況:有時候接口代碼變了,文檔沒有及時更新,前端開發人員不知道;有時候是後臺開發人員直接與前端開發人員私下商量一致,直接更新代碼不更新文檔,久而久之,文檔就是去了作用,成了擺設。另外,接口測試工作要藉助類似Postman的第三方工具。但事與人違,文檔是交流溝通的媒介,文檔是項目驗收的必備材料,文檔是知識和經驗的積累!每一個開發人員無法避免的一項工作,就是寫文檔!

那麼,有沒有什麼工具能夠幫助我們自動生成接口文檔呢?懶人自有天助吧!Swagger幫助我們解決以上困惑。Swagger是一個規範和完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。總體目標是使客戶端和文件系統作爲服務器以同樣的速度來更新。在Spring Boot項目中,可以將文件的方法、參數和模型緊密集成到服務器端的代碼,允許API來始終保持同步。Swagger作用主要包括兩點:接口文檔在線自動生成和功能測試。

下面,我們來詳細介紹Spring Boot 2.0 集成 Swagger2流程:

第一步,新建工程,在POM中添加Swagger2依賴,版本是2.9.2,Spring Boot版本2.0.6 RELEASE。spring-boot-starter-web提供了Spring MVC的支持。如下圖所示:
在這裏插入圖片描述

依賴項
第二步,編寫啓動類,在類上使用@SpringBootApplication和@EnableSwagger2註解,並使用@Bean註解實例化一個Docket的Bean。爲方便開發使用,@SpringBootApplication內部是整合了@Configuration、@EnableAutoConfiguration和@ComponetScan註解,並開啓了Spring Boot程序的組件掃描和自動配置功能。其中,@Configuration是將Swagger2與Spring Boot項目進行整合的關鍵註解。

在這裏插入圖片描述
啓動類
第三步,至此,Swagger2可以與Spring Boot項目一起工作了。運行項目,在瀏覽器中訪問URL(localhost:8080/v2/api-docs),驗證效果如下圖所示:
在這裏插入圖片描述

運行結果
第四步,問題接踵而至。第三步訪問URL運行結果是一堆JSON串,非常生澀難懂,不具有人性化。慶幸的是,Swagger2提供了UI交互的解決方案,在POM中添加Swagger2 UI依賴。如下圖:

在這裏插入圖片描述
依賴項
第五步,運行項目,在瀏覽器中訪問URL(localhost:8080/swagger-ui.html),驗證效果如下圖所示:
在這裏插入圖片描述

運行結果
第六步,新建SwaggerController類,提供RESTFul服務,如下圖所示:
在這裏插入圖片描述

SwaggerController類
第七步,運行項目,在瀏覽器中訪問URL(localhost:/swagger-ui.html),點擊“Try it out!”按鈕,可以進行服務接口測試。驗證效果如下圖所示:
在這裏插入圖片描述

運行結果
結束語:綜上所述,相比爲接口編寫文檔的工作,我們增加的配置內容是非常少而且精簡的,對於原有代碼的影響也在忍受範圍之內。因此,在構建RESTful API的同時,加入Swagger2來對API文檔進行管理,是個不錯的選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章