1. 程式人生 > 實用技巧 >原創+首發 apipost 介面轉 Yapi 方法 附例子 轉發請說明來處

原創+首發 apipost 介面轉 Yapi 方法 附例子 轉發請說明來處

1.開啟api post 的 分享連結

2.按住 ctrl + u 進入檢視原始碼

找到和我截圖差我多的程式碼 內容 這些內容就是介面的json 內容

3.大概複製到我截圖的位置就可以

4.將複製的json 放到我提供的轉換程式碼裡面去 轉換程式碼我留在最後了

5.儲存後 在瀏覽器開啟 轉換檔案 轉換後的內容 會列印在控制檯

6.將 列印的內容 複製出來 然後 存放在一個json 檔案裡面

6.1 進入 yapi 中匯入

選擇對應的匯入方式

7.選擇你剛剛建立的json 檔案 我這裡是 省略 了 儲存到josn檔案的步驟的

8.檢視我們匯入完之後的結果

好了 最後 提供下轉換的程式碼把 拿走不謝

<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //選單列表
        
        let _menu 
= []; let _l1265058789 = {};//注意下面的使用關聯 因為複製過來的命名都不一樣 let _global_paras = {"query":[],"header":[],"body":[]}; let _search_apis_list = []; //上面三個需要替換 function getdatamok(name, age) { //建構函式模式 let datamok = { "swagger": "2.0",
"info": { "title": "shaozhu520", "version": "last" }, "basePath": "/", "tags": [ { } ], "schemes": [ "http" ], "paths": { } } return datamok; }; let zzdata = []; let itemdata = new getdatamok();//單條 for (let i = 0; i < _menu.length; i++) { let arrsd = []; itemdata.tags.push({ "name": _menu[i].name, "description": _menu[i].name }) _menu[i].menu.forEach((item, index) => { let urls = item.url;//split("}}")[1] itemdata.paths[urls] = { "post": { "tags": [ _menu[i].name, ], "summary": item.name, "description": "", "consumes": [ "multipart/form-data" ], "parameters": [ ], "responses": { "200": { "description": "successful operation", "schema": {} } } } } // parent_id let twoitem = _l1265058789[item.target_id]; if (twoitem.request.body.parameter) { //設定 傳遞 引數 //設定頭部引數 twoitem.request.body.parameter.forEach((item) => { itemdata.paths[urls]["post"]["parameters"].push({ "name": item.key, "in": "formData", "required": false, "type": "string" }); }) } if (twoitem.request.header.parameter) { //設定頭部引數 twoitem.request.header.parameter.forEach((item) => { itemdata.paths[urls]["post"]["parameters"].push({ "name": item.key, "in": "header", "description": `${item.key} (Only:${item.value})`, "required": false, "type": "string", "default": item.value }); }) } }); // console.info(arrsd, "arrsd"); //console.info(JSON.stringify(arrsd), _menu[i].name); } // console.info(zzdata, "zzdata"); // console.info(JSON.stringify(zzdata)); console.info(itemdata, "itemdata"); console.info(JSON.stringify(itemdata)); </script> </body> </html>