有时候需要mock数据,这两天一个大佬给我推荐了这个Json Server,告诉我十分钟就能学会。 然后进今天花时间看了一下。
一、创建一个文件夹
首先随便建一个文件夹,然后点进去,在红框里面输入cmd,按Enter,也可以用vscode打开文件夹,在终端进行。
二、安装
然后安装。
npm install json-server
三、初始化一个package.json文件
同样地,也可以在vscode终端运行。 输入命令生成package.json文件。
npm init --yes
四、启动JSon Server脚本
在package.json里面的脚本script这里添加。
"serve":"json-server --watch db.json"
然后再运行命令启动Json server。
npm run serve
当成功之后,你会发现生成了一个文件,db.json,你后面所有的数据都应该写在这里面。
db.json
{
"posts": [
{
"id": 1,
"title": "json-server",
"author": "typicode"
}
],
"comments": [
{
"id": 1,
"body": "some comment",
"postId": 1
}
],
"profile": {
"name": "typicode"
}
}
以后接口baseURL就是在http://localhost:3000这里了。此时你去访问它,会见到下面这样一个页面。 观察一下db.json文件,整体是一个对象,里面的数据都是对象或者数组格式,引号都要用双引号,而且列表里面的每一个对象都应该有一个id。 如果在后面加一个路径访问,http://localhost:3000/db,你会得到db.json里面的所有数据。 如果在后面加一个路径访问,http://localhost:3000/posts,你会得到数据。
五、访问数据方式
刚刚上面的访问的方式都是GET请求。也可以用POST、PUT、DELETE等方式进行请求数据。
六、自己设定数据
{
"posts": [
{
"id": 1,
"title": "他好帅",
"author": "王一博"
},
{
"id": 2,
"title": "他好棒",
"author": "杨洋"
},
{
"id": 3,
"title": "他好赞",
"author": "谢允"
}
],
"comments": [
{
"id": 1,
"body": "some comment",
"postId": 1
}
],
"profile": {
"name": "蓝忘机"
}
}
http://localhost:3000/posts/1
![image.png](https://s2.51cto.com/images/20211223/1640271631612210.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
2. 带参数
http://localhost:3000/posts?id=1
![image.png](https://s2.51cto.com/images/20211223/1640271600599877.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
3. 分页获取数据
http://localhost:3000/posts?_page=3&_limit=1
![image.png](https://s2.51cto.com/images/20211223/1640271952104579.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
    _limit每页多少条数据,_page当前是第几页。
4. 排序
```javascript
http://localhost:3000/posts?_sort=id&_order=desc
让id进行降序排列返回。
- 选择数据
http://localhost:3000/posts?_start=0&_end=2
返回前两条数据。 6. 选择满足一定条件的数据
http://localhost:3000/posts?id_gte=1&id_lte=2
返回id大于等于1小于等于2的数据。