knife4j-admin v1.0發布,任意聚合 Swagger 文檔

2020-12-16 開源中國

knife4j-admin是一個基於Spring Cloud Gateway網關,通過網關的特性,結合knife4j對Swagger的文檔進行動態聚合的管理平臺

平臺特點:

目前V1.0版本提供的功能:

項目新增

1、添加項目必須按照如下格式進行

{    "name": "大數據測試平臺",    "code":"test1",    "description":"我是描述信息",    "groups": [       {            "name": "用戶模塊",            "uri":"http://knife4j.xiaominfo.com",            "header":"server1",            "url": "/v2/api-docs?group=2.X版本",            "swaggerVersion": "2.0"       },{            "name": "訂單模塊",            "uri":"http://swagger-bootstrap-ui.xiaominfo.com",            "header":"server2",            "url": "/v2/api-docs?group=1.8.X版本接口",            "swaggerVersion": "2.0"       }        //more..   ]}

2、平臺會根據用戶上傳的JSON文件在服務端保存一個.json文件,每一個項目代表內容都是以上一個完整的json文件

3、項目code必須唯一

4、項目下的服務列表信息中,header必須全局唯一,該參數值用戶可以隨機生成,只需要保證唯一性即可,作為Spring Cloud Gateway網關組件的轉發依據

5、groups集合中,所提供的Swagger接口必須保證可以訪問,完整的訪問路徑是uri+url

解決痛點

1、多語言使用Swagger時,集成Knife4j較麻煩

雖然Knife4j提供了其他語言的前端版本,但是從總體上還需要自己打包構建,而且依賴於其他Web容器進行單獨部署,使用上叫複雜

Knife4j-admin目前是根據OpenAPI V2的Swagger規範文檔聚合平臺,不同的語言在使用Knife4j時也可以很方便的使用

2、以Spring Cloud的微服務體系聚合Swagger困難重重

在Knife4j的技術交流群中,目前問的最多的就是Spring Cloud微服務架構如何聚合Swagger文檔,要麼是文檔聚合失敗,無法顯示,要麼是由於網關組件(Gateway|zuul)等組件本身的版本問題導致文檔顯示異常

Knife4j-admin是獨立部署,只需要提供微服務的接口既可以通過admin來很方便的集成

3、個性化配置

個性化的配置問題同樣也是開發者關心的,例如:

1).Swagger文檔能否登陸?

2).如何在生產環境屏蔽Swagger文檔

3).文檔界面中的XXX功能能否不顯示

4).more...

對於個性化的需求,由於Knife4j-admin是獨立的平臺,對於文檔的安全性等方面,可以做到很精準的控制,平臺有用戶,有可視化操作,有授權,並且可以作為唯一的對外文檔發布平臺,結合自身的伺服器網絡環境,做到內外網的環境隔離,文檔安全輸出.

更多有趣的功能等你來發掘~~!!!

試用

目前,在伺服器上部署了一個版本,開發者如果有興趣可以去體驗

訪問地址:http://kadmin.xiaominfo.com/index.html#/home

部署手冊: https://doc.xiaominfo.com/knife4j/knife4j-admin-deploy.html

Star & Issue

感謝各位朋友的支持,前往https://gitee.com/xiaoym/knife4j點個Star吧~~ :)

相關焦點