您好,登錄后才能下訂單哦!
本篇內容主要講解“如何定制yaml文件管理api并基于yaml文件生成完整程序”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何定制yaml文件管理api并基于yaml文件生成完整程序”吧!
1. api管理方式背景
隨著項目團隊不斷地規范,開發流程的每一步都在不斷的變化,變得更加高效并且方便管理;api管理也經歷了不少的變化,主要變化從上到下演進:
編寫后端接口api,從status的action到springmvc的@RequestMapping,這些框架的確可以幫我們完成后端接口的編寫,但對于前后端分離的項目,還需要編寫項目組制定的接口文檔;我相信,沒多少程序員寫完接口后還想寫接口文檔的。
由于項目組開發系統比較多,為了統一管理公司內部所有系統的接口文檔,這個時候有的公司會定制化自己的接口文檔管理應用,通過這個應用可以簡單的實現在網站上直接編寫接口文檔信息,無須考慮接口文檔樣式等等,這樣做的確比上一種好一點,通過對定制化這個網站,我們可以做到在線調試接口情況、分版本管理、分配api管理權限。API管理-使用開源xxl-api項目管理接口
在項目中集成swagger并在接口上加上api信息的注解,并通過swagger-ui.html界面進行api接口的查看和調試,詳細請參考:API管理-基于SpringBoot項目集成swagger實現接口文檔自動生成,如果覺得這套ui不友好,沒關系,可以換,API管理-舍棄springfox-swagger-ui,采用功能更加豐富的swagger-bootstrap-ui
通過上面一種就基本可以完成api管理操作了,但這樣的swagger管理起來也存在代碼侵入性太高,為了達到目的還需要反復的調整接口注解或參數;既然存在問題,閱讀完這篇文章你就會學會:如何定制yaml文件管理api并基于yaml文件生成client端、server端、springboot完整程序,接下來進入主題。
2. 需要了解幾個概念
swagger 2.0和open api 3.0規范,其實就是規范對于的yaml文件格式定義,不同的情況下可以通過特定的規范進行不同后端代碼生成,對于swagger 2.0和open api 3.0規范生成代碼的插件也有好多個,swagger 2.0和open api 3.0還支持互轉,請參考:swagger2openapi。
這里先介紹基于swagger 2.0生成后端代碼,試過open api 3.0去做,但插件不太給力,沒有達到我想要的效果,沒法達到:基于yaml文件生成client端、server端、springboot完整程序;
滿足swagger 2.0文件有json、yaml二種格式的,所以以后我們只要學會編寫這種yaml或json文件編寫規范就可以對接口進行管理。
3. 使用swagger-codegen完成基于yaml文件生成client端、server端、springboot完整程序
請先閱讀,這篇文章,寫的不錯:spring boot項目使用swagger-codegen生成服務間調用的jar包,百度了很多帖子,就這篇文章給了我想要的效果。
通過這種方法我可以生成一個只帶NameApi的接口的程序("interfaceOnly" : "true"),通過對這個程序的打包依賴到項目中,就可以完成對api管理,每次更新api接口只需要編寫好yaml重新生成一下jar并依賴到項目中就行,這樣還可以減少swagger相關注解的侵入性。通過這種方式只用在controller上實現對于的jar中的接口,還不需要調整service和mapper中的邏輯,service和mapper層還可以通過之前方式直接生成與數據庫交互的通用接口。
除此之外swagger-codegen還可以通過"library" : "feign"生產我們想要的客戶端代碼(jar),這里的客戶端代碼就是一些封裝過的工具,可以通過指定方式去和server交互,如:sso-client.jar就是負責與sso-server進行交互的。
到此,相信大家對“如何定制yaml文件管理api并基于yaml文件生成完整程序”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。