rapnc
Version:
Node client for RAP 1.0
116 lines (58 loc) • 3.58 kB
Markdown
# RAP Node Client
## Guide
1. sudo npm install -g rapnc (安装 rapnc)
2. rapnc serve(启动rapnc服务器的在线模式)
3. sudo rapnc pull 88 (获取项目编号88的所有RAP接口数据)
4. 关闭步骤2启动的rapnc服务
5. rapnc serve --offline (启动离线模式)
6. 打开浏览器,点击 [http://localhost:3000/nodeclient/mockjs/88/simple/datatypes.do](http://localhost:3000/nodeclient/mockjs/88/simple/datatypes.do),看看 RAP+Mockjs 正在用绳命为你随机生成的数据吧。
## 功能总览
- serve:在本地启动Node Client服务器,提供RAP配置的接口数据、Mockjs渲染后的数据等
- pull:将RAP配置的接口数据从RAP服务器获取到本地,并缓存,从而减轻RAP服务器压力,并支持离线访问
- check:利用RAP接口数据,校验真实数据的正确性
- 提供多种获取接口数据的URL调用方式,如 `mockjs` `mockjsrule` 等
## serve:启动Node Client服务器
**任何人都能当RAP数据服务器,提供假数据。**
### 两种模式
启动服务器分为两种模式:
- `online` 模式,直接连接RAP数据库(推荐在RAP服务器上使用online模式)
- `offline` 模式,根据 `项目` 获取接口数据后,使用本地的接口数据来渲染假数据。
### 使用方式
`rapnc serve [options]`
`rapnc serve --online` 启动 online模式
`rapnc serve --offline` 启动 offline模式
默认情况下 `rapnc serve` 启动的是 `online` 模式
根据离线模式的功能,可以看出,在使用offline提供服务时,必须把 `项目` 对应的接口数据获取下来,这就是 `rapnc pull PROJECT_ID` 子命令的任务。
### 选项
- `--online` 启动online模式
- `--offline` 启动offline模式
- `--port` 可以指定启动服务器的端口号
- `-h` `--help` 可以查看命令帮助
## pull:从RAP服务器获取项目的RAP接口数据,存储在本地
### 使用方式
`rapnc pull PROJECT_ID [options]`
如果碰到没有权限的问题,请 `sudo`
### 选项
- `--host` 提供pull服务的目标主机,一般是运行了 `rapnc serve` 命令的机器
- `--port` 提供pull服务的目标端口号
- `-h` `--help` 可以查看命令帮助
### 其他说明
- `PROJECT_ID` 是用户在RAP系统中新建项目的项目ID。
- 执行命令成功以后,将会在 `cache/projects` 文件夹下,创建 `PROJECT_ID.json` 文件,存放接口数据。
- 有了接口数据,就可以通过 `rapnc serve --offline` 启动离线服务器,轻松使用离线模式了
## check:批量检测接口数据的正确性
### 使用方式
`rapnc check PROJECT_ID|all [options]`
### 选项
- `-d` `--test-dir` 测试用例的目录
- `-c` `--current` 把当前目录作为测试用例目录
- `--host` 测试服务器的主机名,对应运行 `rapnc serve` 的机器
- `--port` 测试服务器的端口号
- `-h` `--help` 可以查看命令帮助
### 注意事项
- 测试目录默认为 `RAPNC/cache/tests` 目录,该目录下的子目录名对应 `PROJECT_ID`,PROJECT_ID 目录下的每一个js文件是一个测试用例
## 部分URL调用方式约定
- `/mockjs/PROJECT_ID/ACTION_URL` 返回mockjs渲染后的 `真实` 假数据
- `/mockjsrule/PROJECT_ID/ACTION_URL` 返回mockjs渲染前的接口数据
- `/pulling/PROJECT_ID` 返回的是项目下的所有接口数据 (rapnc pull 就是往这个url上发送请求的)
- `/checking/PROJECT_ID/ACTION?PARAMS` 测试项目下某个Action返回内容的正确性 (rapnc check 就是往这个url上发送请求的)