0.0.11 • Published 4 years ago
zen-api-parser v0.0.11
zen-api-parser
zen-mock 配置解析器
项目说明
用于 zen-mock 项目,解析 api 配置.
支持合法的 json,js
配置文件.
安装
npm i zen-api-parser
快速入门
参看示例 basic
配置详述
zen-api-parser 会采用 require
直接读取配置.
默认解析遵循如下约定.更详细的解析参见 原理浅析
- 读取配置文件不包含合法配置项,则整个配置作为 resp.body
- 读取配置文件为函数,直接作为 resp 配置
- 合法的配置文件,配置项如下
配置项 | 是否可选 | 类型 | 作用 |
---|---|---|---|
req | 可选 | Object | 配置请求对象 |
req.method | 可选 | String | 默认 get 请求,支持所有合法 http 请求,注意采用小写 |
req.path | 可选 | String | 设置请求路径,默认值为配置文件相对配置根目录对应的路径 |
req.header | 可选 | Object | 配置请求头,支持采用 mockjs 设置参数,例如 {token:/\d{11}/} 设置 token 的请求头,配置符合 express set 中传入对象的风格 |
req.params | 可选 | Object | 设置请求路径中携带的参数,支持 mockjs 模式模拟数据 |
req.query | 可选 | Object | 设置请求查询字段,支持 mockjs 模式模拟数据 |
req.body | 可选 | * | 设置请求体,支持 mockjs 模式模拟数据 |
resp | 必选 | * | 分为如下情况非合法配置,作为 resp.body 配置函数作为, express handle对象,见后续配置 |
resp.header | 可选 | Object | 设置响应头,支持 mockjs 模式模拟数据 |
resp.body | 可选 | * | 设置响应体,支持 mockjs 模式模拟数据 |
注意请求配置结合 zen-mock-cli 会格外有用,作为 mock-server 一般配置
path,method
即可
原理浅析
默认解析规则如下,只对核心流程进行描述,详细逻辑请查看源码
- 采用 require 读取 api 配置文件
- 若存在 req,resp 配置字段则解析配置
- 若没有 req 字段则,将整个配置传入 respond 进行解析
- 处理完成后返回形如
的对象{ req:{ path:"/foo", //... }, resp:function(req,res) { //... } }