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

9.9 json-server

JSON-Server基础使用

JSON-Server 是一个 Node 模块,运行 Express 服务器,你可以指定一个 json 文件作为 api 的数据源。 json-server可以直接把一个json文件托管成一个具备全RESTful风格的API,并支持跨域、jsonp、路由订制、数据快照保存等功能的 web 服务器。

安装配置
  1. 查看是否安装node
node -v
  1. 查看是否安装npm
npm -v
  1. 安装json-server
npm install -g json-server
  1. 查看json-server的版本
json-server --version

![[0679a6f4-127a-4590-b2b7-ea8f008ed7a6.png]]

  1. 配置db.json文件
{"student": [{"id": 1000,"uname": "小明","class": "web前端","msg": "我叫小明,明天的明","age": 19},{"id": 1001,"uname": "小红","class": "java开发","msg": "我叫小红,红色的红","age": 20}],"tableList":['首页','公司概况','云和教育','云和技术','云和服务','云和国际','云和网课','云和招聘']
}
  1. 启动json-server

json-server

  1. json-server --watch db.json[文件名称] 注意: db.json为json文件的名称,你自己的文件名叫什么,就启动对应的文件就可以了 启动json-server的时候,必须在你db.json所在的文件夹下进行启动

这样服务器就可以启动成功了,可以通过配置db.json文件,访问服务器里面的数据 访问地址:127.0.0.1:3300/student

使用json-server实现增删改查

  1. 添加数据 post请求
    在apifox中创建一个 快捷调试
    ![[b5903a9d-981a-4921-9b8b-a01696804f99.png]]

直接点击发送,当body中返回下面内容,表示添加成功

![[7b299a64-7e96-472a-b67e-52880ed9daf1.png]]

注意:不需要添加id,他会自动添加id值

  1. 获取指定id的数据

请求格式: get /资源名 获取所有的资源 get /资源名/:id 获取id为对应id的资源
![[f407cdb0-b9f1-49a3-87f0-7f865086f9ba.png]]

  1. 修改数据 - put
    修改的时候需要传递id,并且重制要修改的字段
    ![[24e2c837-8c6d-4aa3-a948-112cea0fec3a.png]]
    除了使用put可以修改时数据以外,还可以使用patch修改数据
  2. 删除数据 - delete
    删除数据,只需要在上面传递要删除的id号 总结:json-server中使用的六个接口

![[0a0e61a9-da5a-45dd-a338-4570d4cab261.png]]

  • get /资源名 获取所有的资源

  • get /资源名/:id 获取id为对应id的资源

  • post /资源名 创建一个新的资源

  • put /资源名/:id 修改id为对应id的资源,覆盖更新

  • patch /资源名/:id 修改id为对应id的资源 局部更新

  • delete /资源名/:id 删除对应id的资源

常用功能及参数

  1. 实现分页效果

_ page 表示请求第几页_ _ limit 表示一页显示多少条数据

官方文档提到,0.17版本就不要使用_limit了,需要使用_per_page

所以语法格式为 http://localhost:3000/student?_page=3&_per_page=2

![[31d81e36-ae40-4f43-a793-bb2d6404690a.png]]

  1. 查询到指定姓名的用户信息

根据相关字段,查询到对应的结果 写字段的名字,跟着要查询的只。例如:?name=李四 示例:
![[e3157add-ae9e-4fa7-b5f7-1410907fb924.png]]

排序

默认为升序

sort 根据某个字段排序

asc 升序;desc 降序

localhost:3000?sort 根据某个字段排序

示例:倒序请求方式http://localhost:3000/uname/?_sort=id&_order=asc
![[66e0d7b2-a0db-4c13-8206-e0f15fa9ec42.png]]
10. 模糊查询

通过使用对应 “字段名_like”的形式,我们可以对对应的字段进行模糊查询

localhost:3000?name_like=李

查找所有姓名中包含李的人员信息

示例:查询所有名字李包含张的:

http://localhost:3000/uname/?name_like=张

![[3a4e25a8-7072-490f-a30e-39dc8501c7e1.png]]

mock数据的使用

什么事mock数据

前端可以使用mock(假数据),模拟开发中用到的数据

使用场景
  1. 后台支持未完成

  2. 前后端并行开发,此时没有后端数据

mock数据的优势

团队并行开发,测试驱动,演示,隔离数据等 没有跨域问题,直接测试就行

mock语法

使用的是json格式,随机内容的生成
![[870d453e-00b9-4116-b48a-bd8063ffe1f4.png]]

可以mock数据的网站有很多

比如:https://www.fastmock.site/ 基本上都大同小异


文章转载自:

http://rArPvuX0.dgxrz.cn
http://dEwjOcEO.dgxrz.cn
http://JF5Iqpb2.dgxrz.cn
http://RSTl0dRP.dgxrz.cn
http://CM1UfqWy.dgxrz.cn
http://meqv9urq.dgxrz.cn
http://NzSHWJpl.dgxrz.cn
http://iOCltArS.dgxrz.cn
http://GiBGaxhd.dgxrz.cn
http://V8oStLjN.dgxrz.cn
http://NI1EANxu.dgxrz.cn
http://Htdfe9G4.dgxrz.cn
http://7ERo39vI.dgxrz.cn
http://d1D3WlRN.dgxrz.cn
http://txqF421I.dgxrz.cn
http://uC6UR6mW.dgxrz.cn
http://UPalO8Al.dgxrz.cn
http://bBbMbODx.dgxrz.cn
http://cgPIg3zw.dgxrz.cn
http://Ohf1HpWG.dgxrz.cn
http://rhhubrih.dgxrz.cn
http://PNnsaWQx.dgxrz.cn
http://8QodEUog.dgxrz.cn
http://00obgnoU.dgxrz.cn
http://hRImDTf4.dgxrz.cn
http://6cDnRpWU.dgxrz.cn
http://3Z5NHkag.dgxrz.cn
http://crURma81.dgxrz.cn
http://TajR2EvW.dgxrz.cn
http://qs0CCfrc.dgxrz.cn
http://www.dtcms.com/a/375673.html

相关文章:

  • excel中筛选条件,数字筛选和文本筛选相互转换
  • zsh: no matches found: /Users/xxx/.ssh/id_rsa*
  • 【EPGF 白皮书】路径治理驱动的多版本 Python 架构—— Windows 环境治理与 AI 教学开发体系
  • C语言面向对象编程:模拟实现封装、继承、多态
  • 设计 模式
  • 【Scientific Data 】紫茎泽兰的染色体水平基因组组装
  • MVCC-多版本并发控制
  • 【MybatisPlus】SpringBoot3整合MybatisPlus
  • 如何在FastAPI中玩转“时光倒流”的数据库事务回滚测试?
  • MySQL数据库面试题整理
  • PostgreSQL 大对象管理指南:pg_largeobject 从原理到实践
  • 传统项目管理的局限性有哪些
  • 内核函数:copy_process
  • 《UE5_C++多人TPS完整教程》学习笔记50 ——《P51 多人游戏中的俯仰角(Pitch in Multiplayer)》
  • RL【5】:Monte Carlo Learning
  • 深度解析HTTPS:从加密原理到SSL/TLS的演进之路
  • minio 文件批量下载
  • 【算法专题训练】19、哈希表
  • AJAX入门-URL、参数查询、案例查询
  • 安装ultralytics
  • Eino ChatModel 组件指南摘要
  • 腾讯codebuddy-cli重磅上线-国内首家支持全形态AI编程工具!
  • 基于PCL(Point Cloud Library)的点云高效处理方法
  • UVa1302/LA2417 Gnome Tetravex
  • STC Link1D电脑端口无法识别之升级固件
  • 【C++】LLVM-mingw + VSCode:Windows 开发攻略
  • SRM系统有哪些核心功能?企业该如何科学选型?
  • LINUX99 centos8:网络 yum配置;shell:while [ $i -ne 5 ];do let i++ done
  • 【陇剑杯2025】密码复现(部分)
  • 漫谈《数字图像处理》之图像自适应阈值处理