@jimengio/mocked-proxy
v0.1.5
Published
Mocked Proxy ----
Downloads
34
Readme
Mocked Proxy
Usage
yarn global add @jimengio/mocked-proxy
# 在 json/ 目录, 需要对应的配置文件
mocked-proxy
# 在 ddi-json/ 目录, 用于 DDI 项目的配置
mocked-proxy
配置文件是 json/config.edn
, 同级路径还有对应的 JSON mock 文件. 其中 API 的 mock 可以使用配置:
:file
, 代理到文件
{:path "api/user/info", :type :file, :status 200, :file "user-info.json"}
:json
代理到数据, 以 JSON 格式返回, 通过 EDN 格式定义
{:path "api/test/json", :type :json :status 200 :data {"code" 200, "message" "This is a test json message in EDN"}}
:text
返回纯文本
{:path "api/test/text", :type :text :status 200 :text "text message"}
启用/禁用
:mock-all? false
字段控制是否启用的所有的 mock 规则.
具体到每一条规则, 可以通过 :enabled? true
来启用:
{:path "api/user/info", :type :file, :status 200, :file "user-info.json", :enabled? true}
其中 :path
字段的规则支持变量 api/cores/plants/:plant-id/inspects/:target
, 然后命中指定的 URL.
TODO
目前只是粗粒度的 mock, 没有进一步区分请求:
:query
还没有支持:method
还没有支持
简单的规则用到的时候再加上.
关于 EDN
EDN 是 Clojure 当中的数据格式, 跟 JSON 类似, 大致可以认为是符号比较少的 JSON:
- 数字, 字符串, 布尔值, 数组, 这些语法一样,
{}
跟对象类型, 但是中间不写分号, 逗号可有可无.:text
是关键字类型, 对应到 JSON 的 string.nil
对应 JSON 当中的null
具体参考 https://learnxinyminutes.com/docs/edn/
License
MIT