[發(fā)明專利]生成展示接口文檔的系統(tǒng)、方法及介質(zhì)有效
| 申請?zhí)枺?/td> | 202110255762.6 | 申請日: | 2021-03-09 |
| 公開(公告)號: | CN112926290B | 公開(公告)日: | 2023-04-07 |
| 發(fā)明(設(shè)計)人: | 鄧志遠(yuǎn) | 申請(專利權(quán))人: | 上海萬向區(qū)塊鏈股份公司 |
| 主分類號: | G06F40/166 | 分類號: | G06F40/166;G06F40/14 |
| 代理公司: | 上海段和段律師事務(wù)所 31334 | 代理人: | 李佳俊;郭國中 |
| 地址: | 200086 上海*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 生成 展示 接口 文檔 系統(tǒng) 方法 介質(zhì) | ||
1.一種生成展示接口文檔的系統(tǒng),其特征在于,包括:
通過后端接口得到所有的項目接口數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行拆解,將這些數(shù)據(jù)在頁面中進(jìn)行對應(yīng)展示,并且修改參數(shù)示例調(diào)用接口;
數(shù)據(jù)解析模塊:將全量數(shù)據(jù)依據(jù)數(shù)據(jù)之間的聯(lián)系進(jìn)行解析拆分,并將拆分后的數(shù)據(jù)分別傳輸至數(shù)據(jù)展示模塊和文檔導(dǎo)出模塊,同時過濾掉預(yù)設(shè)范圍內(nèi)的重復(fù)數(shù)據(jù);
通過接口請求得到全量項目列表后,通過對應(yīng)項目名稱發(fā)送請求獲取到這個項目的全量數(shù)據(jù),通過遍歷數(shù)據(jù)獲取項目名稱、項目版本、項目簡介、項目部署的ip與端口以及項目包含的全量接口數(shù)據(jù),通過遍歷接口的數(shù)據(jù)將全量的接口名稱與路徑匹配到對應(yīng)的模塊之下,項目模塊數(shù)據(jù)包含模塊名稱、以及此模塊下的接口列表,接口列表由接口名稱與路徑組成;將之前獲取到的項目名稱、項目版本、項目簡介、項目ip與端口以及項目模塊數(shù)據(jù)組成一個數(shù)據(jù)對象,記為A數(shù)據(jù);遍歷接口數(shù)據(jù)匹配對應(yīng)模塊的同時,提取出接口的path、接口名、請求方式、consumes、響應(yīng)數(shù)據(jù)處理內(nèi)容類型、概述、具體描述、響應(yīng)數(shù)據(jù)、請求數(shù)據(jù),將這些數(shù)據(jù)組成一個數(shù)據(jù)對象,記為B數(shù)據(jù),其中,path為請求url,consumes為指定處理請求的提交內(nèi)容類型;B數(shù)據(jù)中的請求數(shù)據(jù)與響應(yīng)數(shù)據(jù)要進(jìn)行進(jìn)一步的解析提取便于展示與使用,響應(yīng)數(shù)據(jù)需要拆分為200、201、401、403、404狀態(tài)的數(shù)據(jù)對象,記為C數(shù)據(jù),C數(shù)據(jù)包含有狀態(tài)碼、說明、響應(yīng)數(shù)據(jù)列表;請求數(shù)據(jù)需要拆分為請求數(shù)據(jù)列表、header、body部分,header部分包含有請求的cookie、token信息,body部分包含有post請求的請求數(shù)據(jù)列表;響應(yīng)數(shù)據(jù)列表和請求數(shù)據(jù)列表是響應(yīng)數(shù)據(jù)或請求數(shù)據(jù)的集合;請求數(shù)據(jù)和響應(yīng)數(shù)據(jù)的參數(shù)組成數(shù)據(jù)類型相同,都是由參數(shù)類型、參數(shù)形式、參數(shù)描述、參數(shù)是否必選、參數(shù)是否允許為空、還有一些額外的參數(shù)說明,不同參數(shù)類型的參數(shù)說明不同,類型為number含有一些最大最小值的字段說明;
遍歷數(shù)據(jù)指從按數(shù)據(jù)順序從頭至尾依次進(jìn)行讀取,當(dāng)讀取的數(shù)據(jù)為所需則放入新建的數(shù)據(jù)對象中,反之跳過繼續(xù)讀??;
數(shù)據(jù)展示模塊:展示項目、接口相關(guān)數(shù)據(jù)信息,在界面編輯參數(shù)示例發(fā)送接口請求并展示相應(yīng)數(shù)據(jù);
通過配置前端路由:xx項目,這種格式與項目主頁綁定;xx項目/xx模塊/接口id,這種格式與接口數(shù)據(jù)展示頁面綁定,通過解析出的A數(shù)據(jù)中的模塊數(shù)據(jù)在頁面中展示對應(yīng)的菜單,通過所選菜單跳轉(zhuǎn)對應(yīng)主頁,通過點擊菜單欄子項接口名跳轉(zhuǎn)到對應(yīng)接口詳情頁;主頁是展示對應(yīng)項目的一些基礎(chǔ)信息:項目標(biāo)題、項目簡介、項目版本、項目接口統(tǒng)計信息、項目接口ip端口、項目接口basepath、導(dǎo)出markdown;接口詳情頁展示新老接口的接口數(shù)據(jù):接口標(biāo)題、請求數(shù)據(jù)類型、響應(yīng)數(shù)據(jù)類型、接口請求類型、接口描述、請求示例、請求數(shù)據(jù)表格、響應(yīng)狀態(tài)列表、響應(yīng)數(shù)據(jù)表格、響應(yīng)示例;響應(yīng)狀態(tài)列表展示不同狀態(tài)碼、對應(yīng)的說明、對應(yīng)的響應(yīng)數(shù)據(jù);請求示例與響應(yīng)示例都是可編輯的區(qū)域,展示請求數(shù)據(jù)或響應(yīng)數(shù)據(jù)的數(shù)據(jù)示例值,修改參數(shù)示例的值發(fā)送請求得到對應(yīng)的接口返回數(shù)據(jù);請求數(shù)據(jù)與響應(yīng)數(shù)據(jù)都是表格展示,展示項為:參數(shù)名稱、參數(shù)說明、數(shù)據(jù)類型;數(shù)據(jù)類型為object或array的數(shù)據(jù)可折疊展示;詳情頁可通過折疊按鈕隱藏舊接口的數(shù)據(jù)展示,新版數(shù)據(jù)與舊版數(shù)據(jù)有不同的時候通過高亮展示;數(shù)據(jù)展示頁面使用的是tab菜單形式,可緩存所查看的接口詳情頁,通過tab切換查看不同的項目不同模塊的接口詳情頁;
文檔導(dǎo)出模塊:生成所需項目的接口文檔并導(dǎo)出,導(dǎo)出的接口文檔內(nèi)容格式根據(jù)需求進(jìn)行設(shè)置編輯;
通過解析出來的A數(shù)據(jù)、B數(shù)據(jù),將當(dāng)前項目的全量數(shù)據(jù)信息轉(zhuǎn)化為markdown文件導(dǎo)出;通過一系列處理邏輯將A數(shù)據(jù)、B數(shù)據(jù)轉(zhuǎn)化為所需要的字符串,再通過window.URL.createObjectURL這個靜態(tài)方法,通過字符串形式一行一行添入A數(shù)據(jù)與B數(shù)據(jù),具體邏輯如下:遍歷A數(shù)據(jù),對A數(shù)據(jù)中標(biāo)題字段生成字符串#xx標(biāo)題添入,其它除模塊數(shù)據(jù)的字段生成字符串**xx字段**添入,模塊標(biāo)題生成字符串##xx標(biāo)題,其它除參數(shù)類的字段生成字符串**xx字段**添入,請求示例、響應(yīng)示例、接口請求結(jié)果用字符串```javascript?xx數(shù)據(jù)```這種形式添入,請求數(shù)據(jù)、響應(yīng)數(shù)據(jù)用字符串|參數(shù)名稱|參數(shù)說明|類型|這種形式添入;當(dāng)參數(shù)數(shù)據(jù)類型為object或array這種內(nèi)部還包含數(shù)據(jù)的對象,遍歷過程中需根據(jù)層級添入emsp;emsp,代表空格,輸出的文檔請求數(shù)據(jù)、響應(yīng)數(shù)據(jù)呈表格形式;
通過window.URL.createObjectURL靜態(tài)方法創(chuàng)建一個DOMString,其中包含一個表示參數(shù)中給出的對象的URL,這個URL的生命周期和創(chuàng)建它的窗口中的document綁定,這個新的URL對象表示指定的Blob對象或File對象,將組成的字符串作為參數(shù),創(chuàng)建一個Blob對象,指出相應(yīng)導(dǎo)出文件的編碼類型,將Blob作為參數(shù)傳入window.URL.createObjectURL方法得到對應(yīng)的URL,將其作為a標(biāo)簽的href屬性值,a標(biāo)簽的download屬性值為導(dǎo)出文件名,觸發(fā)a標(biāo)簽的click事件即完成對應(yīng)接口文檔數(shù)據(jù)組成文件的下載;
不同項目數(shù)據(jù)形式不同,對應(yīng)的解析方式也不同,根據(jù)項目類型進(jìn)行解析;
同時展示新舊版本的接口相關(guān)數(shù)據(jù)信息,并進(jìn)行數(shù)據(jù)對比。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海萬向區(qū)塊鏈股份公司,未經(jīng)上海萬向區(qū)塊鏈股份公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202110255762.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種智能護(hù)理氣床墊
- 下一篇:建筑工地用水泥桶清洗設(shè)備





