yapi/docs/documents/data.md
2018-09-14 14:26:39 +08:00

110 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据导入
在数据管理可快速导入其他格式的接口数据方便快速添加接口。YApi 目前支持 postman, swagger, har 数据导入。
v1.3.23+ 增加数据导入的3种同步方式 normal, good, mergin
1. 普通模式(normal):不导入已存在的接口;
2. 智能合并(good):已存在的接口,将合并返回数据的 response适用于导入了 swagger 数据保留对数据结构的改动例如用户对字段code 添加了mock信息, 当再次数据导入的时候 mock 字段将不会被覆盖
3. 完全覆盖(mergin):不保留旧数据,完全使用新数据,适用于接口定义完全交给后端定义, 默认为 normal
## Postman 数据导入
1.首先在 postman 导出接口
<div><img class="doc-img" style="width:50%" src="./images/usage/postman-1.jpg" /></div>
2.选择 collection_v1,点击 export 导出接口到文件 xxx
<div><img class="doc-img" style="width:70%" src="./images/usage/postman-2.jpg" /></div>
3.打开 yapi 平台,进入到项目页面,点击数据管理,选择相应的分组和 postman 导入  方式, 选择刚才保存的文件路径,开始导入数据
<div><img class="doc-img" style="width:90%" src="./images/usage/postman-3.jpg" /></div>
## HAR 数据导入
<p>可用 chrome 实现录制接口数据的功能,方便开发者快速导入项目接口</p>
1.打开 Chrome 浏览器开发者工具,点击 network首次使用请先 clear 所有请求信息,确保录制功能开启(红色为开启状态)
<div><img class="doc-img" style="width:70%" src="./images/usage/chrome-1.jpg" /></div>
2.操作页面实际功能,完成后点击 save as HAR with content,将数据保存到文件 xxx
<div><img class="doc-img" style="width:70%" src="./images/usage/chrome-2.jpg" /></div>
3.打开 yapi 平台,进入到项目页面,点击数据管理,选择相应的分组和 har 导入  方式, 选择刚才保存的文件路径,开始导入数据
<div><img class="doc-img" style="width:50%" src="./images/usage/chrome-3.jpg" /></div>
> Tips: har 数据导入只支持 response.content.mimeType 为 application/json 类型的数据
## Swagger 数据导入
<p>什么是 Swagger </p>
<div>[Swagger从入门到精通](https://www.gitbook.com/book/huangwenchao/swagger/details)</div>
<br />
1.生成 JSON 语言编写的 Swagger API 文档文件<div> 例如这样的数据 <a href="http://petstore.swagger.io/v2/swagger.json" target="blank">http://petstore.swagger.io/v2/swagger.json</a>),可以将其内容复制到 JSON 文件中。</div>
<br />
> Tips: v1.3.19 版本开始支持 swagger url 导入功能
2.打开 yapi 平台,进入到项目页面,点击数据管理,选择相应的分组和 swagger 导入  方式, 选择刚才的文件,开始导入数据
<div><img class="doc-img" style="width:50%" src="./images/usage/chrome-4.jpg" /></div>
<div><img class="doc-img" style="width:90%" src="./images/usage/chrome-5.jpg" /></div>
<div><img class="doc-img" style="width:90%" src="./images/usage/chrome-6.jpg" /></div>
## YApi 接口 JSON 数据导入
该功能在 v1.3.12 版本上线,可导入在 yapi 平台导出的 json 接口数据。
![](import-json-data.png)
## 通过命令行导入接口数据
YApi 支持通过命令行导入接口数据,他的应用场景是做自动化集成,比如配合 swagger ,接口文档前端不用维护,交由后端生成。
### 使用方法
第一步,确保 `yapi-cli >= 1.2.7` 版本,如果低于此版本请升级 `yapi-cli` 工具
```
npm install -g yapi-cli
```
第二步,在任意一个目录下新建配置文件 `yapi-import.json`,内容如下:
```json
{
"type": "swagger",
"token": "17fba0027f300248b804",
"file": "swagger.json",
"merge": "normal",
"server": "http://yapi.local.qunar.com:3000"
}
```
`type` 是数据数据方式,目前官方只支持 swagger
`token` 是项目 token`项目设置 -> token` 设置获取
`file` 是 swagger 接口文档文件,可使用绝对路径或 url
`merge` 有三种导入方式(v1.3.23+支持) normal, good, mergin
1. 普通模式(normal):不导入已存在的接口;
2. 智能合并(good):已存在的接口,将合并返回数据的 response适用于导入了 swagger 数据,保留对数据结构的改动;
3. 完全覆盖(mergin):不保留旧数据,完全使用新数据,适用于接口定义完全交给后端定义, 默认为 normal
`server` 是 yapi 服务器地址
第三步,在`新建配置文件的当前目录`,执行下面指令
```
yapi import
```