自己转换数据导入接口
> 如果你已经有一些接口文档,但是我们平台还没支持你的格式导入,你可以自己写脚本转换数据为下面这个格式,就能导入了。
## 基本数据结构
`project`:项目基础信息
`docs`:文档列表,数组,每项表示一篇文档
`sectionDatas`:参数块或者描述块,里面包含了参数行。
## 完整数据结构示例
下面是一个完整的项目结构,包含一个接口文档`用户登录`,接口包含:
请求头:无数据
请求参数: `username`、`password`
响应参数:`userData`,userData包含一个子参数`name`
示例/说明:一点纯文本的说明
```javascript
{
// 项目信息
"project": {
"name": "项目名字",
"public": "0", // 是否公开项目,1是,0否
"autoGenMockConfig": false // 是否在导入接口时自动生成mock,可选参数
},
// 接口文档数据列表,每一个项表示一个文档
"docs": [{
"name": "用户登录", // 文档名字
"url": "/api/login", // 接口URL
"method": "POST", // 请求方法
"desc": "接口描述", // 接口描述
"docType": "http", // 文档类型,接口文档都是固定的http
// 参数快,包含请求头1,请求参数2,响应参数3,示例4
"sectionDatas": [
{
"name": "请求头", // 块的名字
"sid": "1", // 这里有默认的几个值,请求头1,请求参数2,响应参数3,示例4。其他的可以随意自己设置一个唯一的就好了。
"dataType": "params", // 数据块类型,params表示参数快,text表示描述块
"datas": [] // 参数行
},
{
"name": "请求参数",
"sid": "2",
"dataType": "params",
// 参数行
"datas": [{
"name": "username", // 参数名
"required": true, // 是否必须
"type": "string", // 参数类型
"desc": "用户名", // 描述
"children": [] // 子参数,结构跟这个一样
},
{
"name": "password",
"required": true,
"type": "string",
"desc": "密码",
"children": []
}]
},
{
"name": "响应参数",
"sid": "3",
"dataType": "params",
"datas": [{
"name": "userData",
"required": true,
"type": "object",
"desc": "用户数据字典",
"children": [{
"name": "name",
"required": false,
"type": "string",
"desc": "用户名字"
}]
}]
},
{
"name": "说明 / 示例",
"sid": "4",
"dataType": "text", // 说明块
"datas": "markdown格式的文本" // 这里是填入纯文本,markdown
}
]
}]
}
```
>d 注意,json不支持//注释,导入时请把示例里面的注释内容全部去掉,确保是合法的json格式。
请求头、请求参数、响应参数,请确保sid是正确的,否则接口测试和一键生成mock配置会读取不到数据