1. 说明

sesame-http是一个用于模拟数据的http服务器。

2. 优点

  • 便捷生成随机数,批量生成数组。减少每次调试需要去修改数据的次数
  • 便捷的扩展随机数,可以快捷的自定义随机数
  • 支持多种模拟数据方式 文件形式,规则拦截形式
  • 缓存机制,仅当你修改了对应的模拟数据才会重新加载模拟数据,其余时刻使用缓存。
  • 在页面上即可调试数据(todo)

3. 需求背景

如果你在项目开发模拟数据时,遇到如下问题,可以尝试使用sesame-http。

  1. 在调试各种数据的组合时,需要去不断修改数据。
  2. 不支持根据请求的数据来返回对应的返回。(例:请求带有对应cookie才返回成功,不带该cookie返回失败。)
  3. 不支持自定义的返回(携带cookie,修改response头部,修改状态码)
  4. 不便于拓展

4. 公司需求背景

公司内项目比较多,时间跨度比较大,不同项目可能有不同形式的接口。 例如:

  • AC3000中接口是以请求的形式,(goform/getPassword,'getPassword("username=123")')
  • AP项目中所有的接口都是通过(goform/modules)来获取的,根据携带参数的不同,来返回不同的值
  • 家用这边请求是通过组合的形式来获取的(goform/modules&module1&module2)
  • 其余产品可能各个请求的名称是不一样的

5. 需求分析

为了完成如上产品的兼容

  • 请求拦截及返回需要极高的自由度
  • 需要挂载在项目外部使用,不需要修改项目代码
  • 需要兼容各种形式的数据返回(文件类型、规则类型)

Mock.js等模拟数据的库也不能够兼容公司已有的模拟数据方案。只好自己动手造轮子。
Inspired by Mock.js

6. 设计方案

设计思路 :

  • sesame-http使用express作为服务器来拦截请求,可以外挂在webpack上,也可以单独使用。
  • 采用websocket实现页面通信,从而实现再页面快捷修改假数据
  • 建立随机数生成机制,附加在sesame-http上,可以快捷的生成和拓展随机数。

results matching ""

    No results matching ""