json-server的安装和使用

json-server介绍

json-server是可以把本地当做服务器,然后axios向本地区发送请求,并且不会出现跨域的问题,若是等不及后端数据,可以用这个模拟假数据

json-server安装及使用

【json-server网址】https://www.npmjs.com/package/json-server

一、npm安装

npm install -g json-server

二、创建test.json文件并使用终端启动

  1. 创建test.json文件
    在这里插入图片描述
  2. 开启终端启动文件
json-server --watch .\test.json --port 5000

在这里插入图片描述

参数简写默认值说明
–config-c制定文件配置[默认值: “json-server.json”]
-port-p设置端口[默认值: 3000]
-host-H设置域[默认值: “0.0.0.0”]
-watch-wWatch file(s)是否监听
-routes-r指定自定义路由
-middlewares-m指定中间件files[数组]
-static-sSet static files directory静态目录,类比:express的静态目录
–version- v显示版本号[布尔]

编辑过test.json(test.json数据有变动),都要关闭服务重新启动。(注意:不要用 CTRL + C 来停止服务,因为这种方式会导致 node.js 依旧霸占着3004端口,导致下一次启动失败。简单粗暴关闭窗口即可! —— 个人window系统,其他系统可能没有这样的烦恼。)

向服务器添加数据

//向服务器发送post请求,后面携带要添加的数据即可
 axios.post("http://localhost:8000/posts", {
      id: "3",
      title: "小红",
      views: 1000,
    });

修改数据

//put修改会直接替换原来的解构,不需要修改如果不便携是会被去掉的,可以采用patch方法进行局部修改
 axios.put("http://localhost:8000/posts/1", {
      title: "小红--修改"
    });

 // patch局部修改
  axios.patch("http://localhost:8000/posts/1", {
      title: "小红--修改"
    });

关系拼装(2个接口的数据拼接)

关系拼装可以把关联的2个接口的数据拼接起来并返回。

其中有2种查询关系:
包含子资源 _embed
包含父资源 _expand

准备以下数据进行演示

{
  "posts": [
    { "id": 1, "title": "文章111", "author": "张三" },
    { "id": 2, "title": "文章222", "author": "李四" }
  ],
  "comments": [
    { "id": 1, "body": "some comment 1", "postId": 1 },
    { "id": 2, "body": "some comment 2", "postId": 1 },
    { "id": 3, "body": "some comment 3", "postId": 2 }
  ]
}

包含子资源 _embed

http://localhost:3000/posts?_embed=comments

在这里插入图片描述
还可以拼接多个条件。

需求:在 comments 里,把 posts 里 id 为 2 的数据找出来并拼接起来

http://localhost:3000/posts/2?_embed=comments

在这里插入图片描述
包含父资源 _expand

http://localhost:3000/comments?_expand=post

在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值