当前位置: 首页 > news >正文

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

在这里插入图片描述

http://www.lryc.cn/news/342932.html

相关文章:

  • Unity射击游戏开发教程:(10)创建主界面
  • Microsoft 365 for Mac v16.84 office365全套办公软件
  • 交易复盘-20240507
  • 面试题: malloc与new的区别
  • 欧鹏RHCE 第五次作业
  • 数仓分层——ODS、DW、ADS
  • 计算机视觉——OpenCV Otsu阈值法原理及实现
  • 个人IP打造孵化运营产业链商业计划书
  • R语言:卡方检验
  • 基于51单片机的电子钟秒表LCD1602仿真设计( proteus仿真+程序+设计报告+原理图+讲解视频)
  • latex参考文献引用网址,不显示网址问题
  • 详细分析Mybatis与MybatisPlus中分页查询的差异(附Demo)
  • nginx--tcp负载均衡
  • 20240506 深度学习高级技术点
  • 标准汽车试验铁地板的技术要求
  • 【翻译】REST API
  • TypeScript学习日志-第十九天(namespace命名空间)
  • Mac远程桌面windows11
  • GPU术语
  • 上海个人购房提取公积金经历和注意事项(收藏不踩坑)
  • 阿里云API网关 产品的使用笔记
  • 基于H.264的RTP打包中的组合封包以及分片封包结构图简介及抓包分析;FU-A FU-B STAP-A STAP-B简介;
  • OPENAI中Semantic Kernel实现原理以及示例代码用PYTHON来实现
  • 关于路由懒加载的实现
  • 如何去官网下载windows10操作系统iso镜像
  • JavaScript中如何实现函数缓存,函数缓存有哪些应用场景
  • 以中国为目标的DinodasRAT Linux后门攻击场景复现
  • Day 24 数据库管理及数据类型
  • MAC 本地搭建Dify环境
  • vue3使用tsx/jsx时报错:JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“。