json-server数据模拟
Posted samscat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json-server数据模拟相关的知识,希望对你有一定的参考价值。
比mockJS更简单的数据模拟服务
一、全局安装json-server服务
npm install -g json-server
二、 创建一个db.json 文件
"posts": [
"id": 1,
"title": "json-server",
"author": "typicode"
]
三、运行 json-server --watch db.json --port 3002
浏览器打开localhost:3002/posts 可以看到输出的json数据。
json-server把db.json 根节点的每一个key,当作了一个router。我们可以根据这个规则来编写测试数据。要注意的是,这个key不能包含符号 /
取数据
我们可以使用GET, POST, PUT, PATCH or DELETE 方法来对数据进行操作。
浏览器打开即可访问
– 获取所有:http://localhost:3004/posts
– 条件查找:http://localhost:3004/posts?title=橘子&author=大米
– 分页查找:http://localhost:3004/posts?_page=2&_limit=5
– 排序:http://localhost:3004/posts?_sort=price&_order=desc
– 取局部数据 Slice: http://localhost:3004/posts?_start=2&_end=4
– 模糊匹配:http://localhost:3004/posts?title_like=果
– 全文搜索:http://localhost:3004/posts?q=3
更多参考:
http://ww.qdxiaochuan.com/?id=565
https://gitcode.net/mirrors/typicode/json-server
接口测试使用json-server mock模拟数据
json-server是一个node模块,运行express服务器,可以指定一个json文件作为api的数据源
主要解决:常常在测试过程中,需求还未出来测试想进行接口测试,前端也想联调接口保证功能实现,这时候不可避免的要使用mock的数据。很多时候,我们并不想使用简单的静态数据,而是希望自己起一个本地的mock-server来完全模拟请求以及请求回来的过程。json-server是一个很好的可以替我们完成这一工作的工具
官网:
https://github.com/typicode/json-server#articles
1.安装:npm install -g json-server
安装成功:cmd->json-server -v查看版本
2.pycharm创建一个工程-创建数据
执行:json-server --watch aa.json(默认端口是3000)如果想指定端口
json-server --watch aa.json --port 5000
浏览器输入:
http://localhost:3000/shuiguo
http://localhost:3000/user
返回结果
如果想指定获取json返回的子项http://localhost:3000/shuiguo?name=苹果或者shuiguo?id=3或者?id=2&name=香蕉将返回不同结果
3.启动使用npm run mock规避使用(json-server --watch aa.json)
启动服务直接使用如下:
4.模拟数据多的情况下有时候分页
分页采用 _page
来设置页码, _limit
来控制每页显示条数。如果没有指 定 _limit
,默认每页显示2条 ,排序采用 _sort 来指定要排序的字段, _order 来指定排序是正排序还是逆排序(asc | desc ,默认是asc)
例如:
{
"shuiguo": [
{
"id": 1,
"name": "苹果",
"price": "33"
},
{
"id": 2,
"name": "香蕉",
"price": "34"
},
{
"id": 3,
"name": "苹果",
"price": "33"
},
{
"id": 4,
"name": "苹果",
"price": "33"
},
{
"id": 5,
"name": "苹果",
"price": "33"
},
{
"id": 6,
"name": "苹果",
"price": "33"
}
],
"user": [
{
"name": {
"username": "nihao",
"password": 123
},
"address": "上海市"
}
]
}
http://localhost:5004/shuiguo?_page=2&_limit=2&_sort=id&_order=asc(每页显示两条,正序排)
以上是关于json-server数据模拟的主要内容,如果未能解决你的问题,请参考以下文章