接口模拟是为了使前后端分离时,前端能更好的模拟出真实场景,确保连续的流程无误。
认为 mock.js 具有一定的学习成本(模板语法),不利于推广,并且路径上线时替换较麻烦,所以尝试了json-server。
npm install -g json-server
按照github上的文档流程,创建 interface.json , route.json , middle.js。
官网奉上: https://github.com/typicode/json-server#getting-started
汇总:
- interface.json 存放接口和数据
- middle.js 拦截请求,进行分发操作
- route.json 进行路由转换,/data/interface/device1 对应到 interface
- 然后 json-server interface.json --routes route.json --middlewares middle.js 运行服务
接口:
interface.json 存放原始接口,以json形式。
第一个 interface 是接口名称,其内容是接口返回内容。
路由:
route.json 为路由跳转
模拟真实接口的层级关系,并对应到接口,注意加“/”
请求拦截:
modle.js是一个拦截模块,可以用来做一些骚操作
比如将所有post请求转换为get:json-server 接收到post请求会将接口内原有数据覆盖,而我们的项目平时不注意区分post和get。
第二段代码,通过当前时间,随机修改请求路径到不同的接口,来实现随机数据
最后运行json-server
json-server --host 192.168.9.159 interface.json --routes route.json --middlewares middle.js
绑定interface,应用路由,并使用middle进行拦截。