diff --git a/static/doc/case.html b/static/doc/case.html new file mode 100644 index 00000000..42b93956 --- /dev/null +++ b/static/doc/case.html @@ -0,0 +1,235 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

介绍 #

测试集是接口用例的集合。接口用例用来保存接口运行请求参数,方便我们下次再测试接口,无需再填请求参数。

+ +

添加测试集 #

添加测试集,我们可以创建个人测试集、环境测试集或者功能测试集等等。每个测试集只是接口用例的集合,可以按照任何维度去创建。

+

项目接口页面,测试集合 tab 下面『加号』按钮添加测试集。

+

+

添加测试集必须填写集合名,然后可以选填集合简介。

+

+

添加接口用例 #

当我们在运行、调试某个接口时,为了把当前的测试请求数据保存下来,方便下次测试。我们可以将接口当前的测试数据,保存为该接口的测试用例。

+

在接口运行页面,点击保存按钮,添加接口用例。

+

+

然后选择用例需要添加到的集合。如何还没有集合,可以新建。

+

+

查看接口用例 #

添加完用例,我们可以在接口集合 tab 下面看到,当前项目的所有测试集合和接口用例。接口用例和接口运行一样,只不过默认带上了一些请求参数。 +

+ +
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/data.html b/static/doc/data.html new file mode 100644 index 00000000..65b587f0 --- /dev/null +++ b/static/doc/data.html @@ -0,0 +1,243 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

介绍 #

在数据管理可快速导入其他格式的接口数据,方便快速添加接口。

+ +

Postman 数据导入 #

    +
  1. 首先在postman导出接口
+
+ +
    +
  1. 选择collection_v1,点击export导出接口到文件xxx
+
+ +
    +
  1. 打开yapi平台,进入到项目页面,点击数据管理,选择相应的分组和postman导入方式,选择刚才保存的文件路径,开始导入数据
+
+ +

HAR 数据导入 #

可用 chrome 实现录制接口数据的功能,方便开发者快速导入项目接口

+ +
    +
  1. 打开 Chrome 浏览器开发者工具,点击network,首次使用请先clear所有请求信息,确保录制功能开启(红色为开启状态)
+
+ +
    +
  1. 操作页面实际功能,完成后点击save as HAR with content,将数据保存到文件xxx
+
+ +
    +
  1. 打开yapi平台,进入到项目页面,点击数据管理,选择相应的分组和har导入方式,选择刚才保存的文件路径,开始导入数据
+
+
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/getfamiliar.html b/static/doc/getfamiliar.html new file mode 100644 index 00000000..927b63ed --- /dev/null +++ b/static/doc/getfamiliar.html @@ -0,0 +1,245 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

YApi 是高效、易用、功能强大的api管理平台。 +

+

在开始使用 YApi 之前,我们先来熟悉一下 YApi 的网站结构,这将让你快速了解YApi。

+

登录与注册 #

想要使用 YApi ,首先要拥有账号,目前支持注册账号登录与QSSO登录两种方式。

+

+

首页 #

登录后进入首页,首页展示了分组与项目。

+

此时你作为新用户,没有任何分组与项目的权限,因此只能搜索、浏览 “公开项目” 的接口,如果在首页找不到任何项目,请联系管理员将你加入对应项目。

+

1首页头部展示了当前所在的位置、搜索框、新建项目、查看文档和用户信息。

+

2首页左侧展示分组信息,“分组”是“项目”的集合,只有超级管理员可以管理分组。

+

3首页右侧是分组下的项目和成员列表,点击左侧的某个分组,右侧会出现该分组下的项目和成员信息。

+

4点击项目右上角的星星即可关注项目,关注的项目可以在“我的关注”页面查看。

+

+

项目页 #

点击一个项目,进入项目页,项目页展示了属于该项目的全部接口,并提供项目、接口的全部操作。

+

此时你作为新用户,只能浏览接口信息,不可以编辑项目或接口,如果需要编辑,请联系管理员将你加入该项目。

+

1项目页左侧的 “接口列表” 展示了该项目下的所有接口,右侧默认显示该项目下所有接口的列表。

+

2点击左侧的某个接口,右侧会出现“预览”、“编辑”和“运行”。

+

3点击左侧的 “测试集合” 使用测试集功能。

+

4点击二级导航的“设置”,项目组长即可编辑项目信息和管理成员列表。

+

5点击二级导航的“动态”,即可查看项目的操作日志。

+

+

个人中心 #

鼠标移动到右上角的用户头像或用户名上,即可点击“个人中心”查看个人信息。

+

+

在个人信息页面可以查看并修改自己的用户名、密码等信息。

+

+ +
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/interface.html b/static/doc/interface.html new file mode 100644 index 00000000..7b934fe4 --- /dev/null +++ b/static/doc/interface.html @@ -0,0 +1,232 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

进入项目页,可以看到项目下的所有接口,需要注意的是,YApi有 接口集合测试集合 两个概念。

+
    +
  • 接口集合 将接口进行分类,使结构结构更清晰,一个接口只能属于一个集合,且不允许与其他接口重名。
  • 测试集合 为了方便我们测试接口,测试集合 将若干接口组合在一起,在这里一个接口可以属于不同集合。
+

接口配置 #

新建接口 后,点击新添加的接口,右侧可以看到接口的预览信息,点击右侧的 编辑 Tab项进入编辑面板。

+

在改面板中你可以看到接口的基本信息(接口名称、分类、路径),除此以外,你还可以完善以下接口信息:

+
    +
  • 状态: 用于标识接口是否开发完成。
  • 接口描述: 用简短的文字描述接口的作用。
  • query: 接口url的查询字符串。
  • 请求 Headers: http 请求头字段。
  • 请求 Body: http 请求 body 部分。
  • 请求 Body: http 请求 body 部分。
  • 响应 Body: 模拟返回结果。

    +
    +

    响应 Body 分为 json & raw 两种形式

    +
    +
  • 是否开启邮件通知:开启后将此次接口的改动以邮件的形式发送至项目组所有成员。

    +
+

接口运行 #

接口运行功能,是用来测试真实接口的,类似『Postman』的功能。

+

点击运行 tab ,可进入到接口测试页面,首先安装『chrome crossRequest』扩展,才可正常使用此功能。

+
+

安装完插件记得刷新页面

+
+

+

点击保存按钮可把当前测试保存到测试集,方便下次调试。

+ +
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/manage.html b/static/doc/manage.html new file mode 100644 index 00000000..eb401b92 --- /dev/null +++ b/static/doc/manage.html @@ -0,0 +1,346 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

接口管理的逻辑较为复杂,操作频率高,层层审批将严重拖慢生产效率,因此传统的金字塔管理模式并不适用。

+

YApi 将扁平化管理模式的思想引入到产品的权限管理中,超级管理员 拥有最高的权限,并将权限分配给若干 组长超级管理员 只需管理组长 即可,实际上管理YAPI各大分组与项目的是“组长”。组长对分组或项目负责,一般由BU负责人/项目负责人担任。

+

认识组长 #

组长分为 分组组长项目组长,组长对分组或项目负责,拥有分组或项目下的所有权限,二者区别如下:

+

分组组长 有权限修改分组、删除分组,可以创建分组下的项目。一般来说,组长只需要对项目负责,将项目的操作任务安排给项目组长处理即可。

+

项目组长 无法操作分组,但拥有项目的全部权限,项目组长 是 YApi 的基层管理者,承担了 YApi 绝大部分的日常管理工作。

+

创建分组 #

只有 超级管理员 有权限创建分组

+
    +
  • 联系超级管理员(Qtalk: wenbo.dong; wenxiong.su; wenjie.zhang.),说明要创建的分组名称和自己的用户名。
  • 分组一般以 BU 作为维度。
+

创建项目 #

成为 分组成员,即可在分组中创建项目。

+

+
+

想成为 分组组长 ,在分组成员列表中找到 分组组长,联系 分组组长 将你设置为分组组长。

+
+

怎样联系组长?

+

权限列表 #

新用户未加入项目或分组时,我们称为 “游客”

+

项目权限 #

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
操作游客项目开发者项目组长超级管理员
浏览公开项目与接口
浏览私有项目与接口
编辑项目信息
新建接口
编辑接口
编辑项目头像
删除项目
+

分组权限 #

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
操作游客分组开发者分组组长超级管理员
浏览分组
在分组中新建项目
编辑分组信息
管理分组成员
删除分组
+ +
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/mock.html b/static/doc/mock.html new file mode 100644 index 00000000..34c58e78 --- /dev/null +++ b/static/doc/mock.html @@ -0,0 +1,390 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

Mock介绍 #

YApi的Mock功能可以根据用户的输入接口信息如协议、URL、接口名、请求头、请求参数、mock规则(点击到Mock规则)生成Mock接口,这些接口会自动生成模拟数据,创建者可以自由构造需要的数据。而且与常见的Mock方式如将Mock写在代码里和JS拦截等相比yapi的Mock在使用场景和效率和复杂度上是相差甚远的,正是由于yapi的Mock是一个第三方平台,那么在团队开发时任何人都可以权限许可下创建、修改接口信息等操作,这对于团队开发是很有好处的。

+ +

mock地址解析:yapi平台网址+mock+您的项目id+接口实际请求path

+
mockd地址: http://yapi.corp.qunar.com/mock/29/api/hackathon/login
+

注:项目id可以在项目设置里查看到

+

定义mock数据示例 #

{
+    "status|0-1": 0, //接口状态
+    "message": "请求完成", //消息提示
+    "data": {
+        "counts":"@integer", //统计数量
+        "totalSubjectType|4-10": [
+            { 
+              "subjectName|regexp": "大数据|机器学习|工具", //主题名
+              "subjectType|+1": 1 //类型
+            }
+        ],
+        "data":[
+            {
+                "name": "@name", //用户名
+                "email": "@email", //email
+                "time": "@datetime" //时间
+            }
+        ]}
+}
+

YApi Mock 跟 mockjs 区别 #

1 因为 yapi 基于 json 定义 mock ,无法使用 mockjs 原有的函数功能,正则表达式需要基于 rule 书写,示例如下:

+
{
+  "name|regexp": "[a-z0-9_]+?",
+  "type|regexp": "json|text|xml" //枚举数据类型可这样实现
+}
+

2 支持替换请求的query,body参数

+
{
+  "name": "${query.name}", //请求的url是/path?name=xiaoming, 返回的name字段是xiaoming
+  "type": "${body.type}"   //请求的requestBody type=1,返回的type字段是1
+}
+

如何使用Mock? #

1 在js代码直接请求yapi提供的mock地址(不用担心跨域问题) #

在代码直接请求yapi提供的mock地址,以jQuery为例:

+
let prefix = 'http://yapi.local.qunar.com:3000/mock/2817'
+$.post(prefix+'/baseapi/path', {username: 'xxx'}, function(res){
+    console.log(res) //返回上图预览部分的数据
+})
+
+

2 基于本地服务器反向代理 #

优点:不用修改项目代码

+

2.1 基于nginx反向代理 #

location /baseapi
+{
+proxy_pass   http://yapi.corp.qunar.com/mock/2817/baseapi; #baseapi后面没有"/"
+}
+
+

2.2 基于ykit mock功能 #

{
+    pattern: /\/api\/(.*)/,
+    responder: 'http://yapi.corp.qunar.com/mock/58/api/$1'
+}
+
+

上面通过正则匹配,将所有接口转到 http://yapi.corp.qunar.com 上,比如 http://localhost/api/user/status 会成为 http://yapi.corp.qunar.com/mock/58/api/user/status

+

详细使用指南: ykit-config-mock

+

2.3 基于ykit Jerry代理 #

假设您本地服务器访问地址是: http://xxx.com

+

+

+

Mock语法规范 #

+

了解更多Mock详情:Mock.js 官方文档

+
+

Mock.js 的语法规范包括两部分:

+

1. 数据模板定义规范(Data Template Definition,DTD)

+

2. 数据占位符定义规范(Data Placeholder Definition,DPD)

+

+

数据模板定义规范(Data Template Definition,DTD) #

数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:

+
// 属性名   name (与生成规则之间用 "|" 隔开)
+// 生成规则 rule(生成规则有7种详见下面的生成规则)
+// 属性值   value(可以含有 "@占位符" 同时也指定了最终值的初始值和类型)
+
+'name|rule': value
+
+生成规则:
+'name|min-max': value
+'name|count': value
+'name|min-max.dmin-dmax': value
+'name|min-max.dcount': value
+'name|count.dmin-dmax': value
+'name|count.dcount': value
+'name|+step': value
+

下面提供了6种生成规则以及示例包括 String、Number、Boolean、Object、Array:

+

1. 属性值是字符串 String #

1. 'name|min-max': string
+
+通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。
+
+2. 'name|count': string
+
+通过重复 string 生成一个字符串,重复次数等于 count。
+

2. 属性值是数字 Number #

1. 'name|+1': number
+
+属性值自动加 1,初始值为 number。
+
+2. 'name|min-max': number
+
+生成一个大于等于 min、小于等于 max 的整数,属性值 number 只是用来确定类型。
+
+3. 'name|min-max.dmin-dmax': number
+
+生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmin 到 dmax 位。
+
+例如:
+Mock.mock({
+    'number1|1-100.1-10': 1,
+    'number2|123.1-10': 1,
+    'number3|123.3': 1,
+    'number4|123.10': 1.123
+})
+// =>
+{
+    "number1": 12.92,
+    "number2": 123.51,
+    "number3": 123.777,
+    "number4": 123.1231091814
+}
+

3. 属性值是布尔型 Boolean #

1. 'name|1': boolean
+
+随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。
+
+2. 'name|min-max': value
+
+随机生成一个布尔值,值为 value 的概率是 min / (min + max),值为 !value 的概率是 max / (min + max)。
+

4. 属性值是对象 Object #

1. 'name|count': object
+
+从属性值 object 中随机选取 count 个属性。
+
+2. 'name|min-max': object
+
+从属性值 object 中随机选取 min 到 max 个属性。
+

5. 属性值是数组 Array #

1. 'name|1': array
+
+从属性值 array 中随机选取 1 个元素,作为最终值。
+
+2. 'name|+1': array
+
+从属性值 array 中顺序选取 1 个元素,作为最终值。
+
+3. 'name|min-max': array
+
+通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max。
+
+4. 'name|count': array
+
+通过重复属性值 array 生成一个新数组,重复次数为 count。
+

+

数据占位符定义规范(Data Placeholder Definition,DPD) #

占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。
+
+占位符 的格式为:
+
+@占位符
+
+说明:
+1. 用 @ 来标识其后的字符串是 占位符,在YApi提供的Mock输入框在输入“@”后会自动提示占位符。
+
+例如:
+name: {
+    first: '@FIRST',
+    middle: '@FIRST',
+    last: '@LAST',
+    full: '@first @middle @last'
+}
+// 上面的示例可以得到如下结果:
+"name": {
+    "first": "Charles",
+    "middle": "Brenda",
+    "last": "Lopez",
+    "full": "Charles Brenda Lopez"
+}
+
+
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/project.html b/static/doc/project.html new file mode 100644 index 00000000..0fa79d47 --- /dev/null +++ b/static/doc/project.html @@ -0,0 +1,236 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

新建项目 #

点击右上角的 + 新建项目,进入新建项目页面。

+

+

在新建项目页,填写项目信息:

+
+
    +
  • 项目名称不允许重复,包括其他分组
  • 基本路径为接口统一添加了前缀
  • 新建项目页只列出了部分配置,其他详细配置(环境配置、项目图标等)需要进入项目页的“设置”面板进行配置。
+
+

+

修改项目 #

在项目页点击上方的 设置 Tab 进入项目设置面板,这个面板涵盖了项目的所有配置。

+

+

这里比新建项目页面新增的功能如下:

+

修改项目图标 #

点击项目图标,可以修改图标及背景色:

+

+

配置环境 #

环境配置 一项可以添加该项目下接口的实际环境,供 接口测试 使用。

+

+

删除项目 #

点击下方的删除按钮,输入项目名称进行删除。

+
+

删除项目是高风险操作,因此 YApi 对这个操作进行了特别的约束。

+
+ +
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/qa.html b/static/doc/qa.html new file mode 100644 index 00000000..7616a641 --- /dev/null +++ b/static/doc/qa.html @@ -0,0 +1,224 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

本页面罗列了大家使用 YApi 时遇到的常见问题.

+

如果没有找到您要的答案,请 qtalk 联系: wenbo.dong; wenxiong.su; wenjie.zhang.

+

Q1: 怎样联系组长? #

A: 组长分为 分组组长项目组长:

+
    +
  • 分组组长:选择首页左侧的分组,点击右侧面板的 成员列表,成员右侧显示着 组长/开发者 的权限信息。 +
  • 项目组长: 点击项目页的 设置 - 成员列表,成员右侧显示着 组长/开发者 的权限信息。 +
+

Q2: 怎么快速把之前项目接口迁移过来? #

第一步. 使用Chrome浏览器开发者工具录制功能

+

第二步 录制当前项目所有请求,导出到har文件

+

第三步 将Har数据导入到YApi平台

+

具体使用方法请参考YApi文档

+ +
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + + diff --git a/static/doc/quickstart.html b/static/doc/quickstart.html new file mode 100644 index 00000000..7390e94e --- /dev/null +++ b/static/doc/quickstart.html @@ -0,0 +1,245 @@ + + + + + + + + + + + YApi 使用手册 + + + + + + + + + +
+
+
+ + YMFE + + + +
+
+ + + + + +
+
+
+

YApi

+

高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

+ +
+
+ + +
+ +
+ + + + +
+ +

如何创建接口? #

把大象装进冰箱分几步?三步:把冰箱门打开,把大象装进去,关门,搞定~

+

新建接口分几步?也是三步:

+ +

搞定~

+

获取权限 #

新用户登录后没有任何项目或分组的权限,只能浏览已存在分组下面的公开项目。

+

如果找不到想找的项目,可能是未成为项目成员,此时应联系 项目组长 将你加入该项目。

+

怎样联系组长?

+

+ +
+

想了解更多权限信息,请查看权限列表

+
+

选择项目 #

    +
  • 如果你已经登录,会在首页右侧看到一些项目 (可以在左侧的分组列表切换分组来查看不同分组下的项目)。

    +
  • 点击一个项目,进入该项目的详情页。

    +
+

图片名称

+

新建接口 #

    +
  • 点击左侧接口分组右侧的菜单按钮,选择 添加接口,或者点击接口列表右上角的 添加接口
+

+
    +
  • 选择接口分类,输入接口名称和接口路径,点击 提交
+

+
    +
  • 恭喜你!创建了第一个YApi的接口,你可以看到在左侧看到接口名称,右侧有该接口的信息预览。
+

+ +
+
+ +
+ +
+ + +
+ + +
+
+ + + + + + + + + + +