ap-cli 前端模擬接口服務腳手架
項目地址
依據接口定義,幫助你快速的完成接口模擬工作。
主要功能:
開始
下載ap-cli
$ npm install ap-cli -g
創建data.json
[
{
"url": "/api/get/index",
"method": "get",
"response": {
"name": "pc",
"status": "success"
}
}
]
運行
$ ap-cli -m data.json
現在打開 http://localhost:3000/api/get/index ,你會得到
{ "name": "pc", "status": "success" }
同時會在當前文件目錄生成一個簡單的markdown接口文檔
使用
1、通過js方式模擬數據
格式查看
data.js
const getUserList = () => {
const data = {
"summary": "獲取用戶列表(get方式)",
"url": "/api/get/userList",
"method": "get",
"parameters": "",
"response": {
"count": 100,
"userList": []
}
}
for (let i = 0; i < 100; i++) {
data.response.userList.push({ id: i, name: `user${i}` })
}
return data
};
module.exports = {
getUserList
};
運行
$ ap-cli -m data.js
查看接口
http://localhost:3000/api/get/userList
2、通過swagger文件模擬數據
這種方式主要是通過swagger生成一個xx_new.json文件,然后進行模擬數據
# 運行會生成一個swagger_new.json文件 $ ap-cli -s swagger.json # 模擬數據 $ ap-cli -m swagger_new.json
通過正則匹配指定要模擬的文件
當前目錄下有3個文件a1.json、a2.js、b1.js,你可以通過正則只模擬a1.json和a2.js文件的數據。
$ ap-cli -m all -r /^a/
CLI用法
| # | 縮寫 | 完整 | 默認 | 說明 |
|---|---|---|---|---|
| 1 | -m | --mock [fileName] | 'all' | 模擬接口服務,[fileName]當前目錄下要mock的文件名,[all]默認當前目錄下的所有文件 |
| 2 | -r | --regexp [regexp] | 無 | 通過正則匹配需要mock的文件 |
| 3 | -s | --swagger [fileName] | 無 | 通過swagger生成json模板文件,[fileName]當前目錄下的swagger文件名 |
| 4 | -p | --port [port] | 3000 | 指定mock的端口 |
完整模板及說明
不管是json、js、swagger文件,最終都是轉換成下面的格式進行處理。
示例
[
{
"summary": "獲取用戶信息接口json",
"url": "/api/get/userinfo",
"method": "post",
"parameters": {
"parsing": true,
"child": [
{
"key": "userid",
"type": "string",
"required": true,
"description": "user id"
}
]
},
"response": {
"body": {
"id": "0001",
"status": "success",
"userinfo": {
"name": "pc",
"age": 18,
"gender": "boy"
}
}
}
}
]
主要屬性說明
| # | 字段 | 類型 | 說明 | 默認 | 是否必須 | 備注 |
|---|---|---|---|---|---|---|
| 1 | summary | string | 接口概述 | xxx接口 | 否 | 無 |
| 2 | url | string | 接口地址 | /api | 是 | 無 |
| 3 | method | string | http請求方式 | get | 是 | 無 |
| 4 | parameters | / | 接口請求參數 | 無 | 否 | 可顯示為表格(詳見下1-1.parameters屬性說明) |
| 5 | response | / | 接口響應數據 | 無 | 是 | 無 |
1-1. parameters屬性說明
| # | 字段 | 類型 | 說明 | 默認 | 是否必須 | 備注 |
|---|---|---|---|---|---|---|
| 1 | parsing | boolean | 是否解析 | false | 否 | 無 |
| 2 | child | object [] | 子節點 | 無 | 否 | 子節點屬性(詳見1-1-1.child屬性說明) |
1-1-1. child屬性說明
| # | 字段 | 類型 | 說明 | 默認 | 是否必須 |
|---|---|---|---|---|---|
| 1 | key | string | 字段名稱 | - | 是 |
| 2 | type | string | 字段類型 | string | 是 |
| 3 | description | string | 字段說明 | 無 | 否 |
| 4 | required | boolean | 是否必須 | false | 否 |
| 5 | child | object [] | 子節點數據 | 無 | 否 |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。