Orion's Studio.

puer真是太好用了

2017/11/30

先黑一波json-server

json-server可以说是很 RESTful 了,可有时候我并不需要那么 RESTful 啊摔

比房哆

1.后台给我的list返回值是这样子的

1
2
3
4
5
{
status: 0,
page: {}
list: [Object1,Object2,...]
}

可json-server只能返回那样子的

1
2
3
4
5
[
Object1,
Object2,
...
]

后台给我的data返回值是这样子的

1
2
3
4
5
6
7
{
status: 0,
data: {
balabala: galagala,
...
}
}

可还是只能返回那样子的(而且必定会有id

1
2
3
4
5
{
balabala: galagala,
id: 1,
...
}

所以我还是在server.js里面塞满了非RESTful的接口
(p.s.只能node server.js,而不能json-server --watch db.json --routes routes.json --middlewares middlewares.js --port 13025
2. 万一POST不想要增加数据呢,e.g. 购物车数量增加
3. 当后台接口不够纯粹RESTful的时候,要重写一千个路由规则

但也有亮点啦

  1. 将json当作数据库,不仅支持分页查询,还能POST直接增加数据测试
  2. middlewares可以做跨域处理
  3. 重写路由规则比较方便

黑完就要吹一波puer了

puer其实是用来代码热重载的,所以实时刷新做得很好

配置也很简单route.js(通过req.url获取请求参数)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module.exports = {
// GET
'GET /kangyang/0.1/zzz/:id': function (req, res, next) {

let content = {}
switch (req.url.split('pageNum=')[1].split('&')[0]) {
case '2':
content = {}
break
}
// response json format
res.send(content)
},
// PUT POST DELETE is the same
'PUT /kangyang/0.1/zzz/:id': function (req, res, next) {
res.send({
id: req.url.split('/v1/posts/')[1]
})
}
}

然后puer -a route.js -p 13025 -t http://localhost:8080就OK啦

p.s. 唯一要注意的是8080端口的服务一定要先启动

p.p.s. 13025 不觉得很像 imock 吗(并不

CATALOG
  1. 1. 先黑一波json-server
  2. 2. 黑完就要吹一波puer了