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

json-server环境搭建及使用

json-server环境搭建

一个在前端本地运行,可以存储json数据的server。

基于node环境,可以指定一个 json 文件作为 API 的数据源。

文章目录

    • json-server环境搭建
      • 前提
      • 下载安装
      • 监听服务
      • 启动成功
      • 修改端口号
        • 方式一:
        • 方式二:
    • 数据操作
      • 测试数据源
      • 查询数据
        • 获取数据方式
          • 方式一:
          • 方式二:
        • 分页获取数据
        • 排序数据
        • 截取数据
        • 区间数据
    • 配置静态资源服务器

前提

  • 安装 node 环境

下载安装

  • 全局安装json-server
npm install -g json-server

监听服务

  • 在需要的文件夹下执行以下命令,执行成功后,默认会创建 db.json 文件。
json-server --watch db.json

启动成功

  • 根据执行命令,服务已正常监听,我们可以根据以下地址进行访问体验。
  • 可以理解为json-serverdb.json 根节点的每一个 key ,当作一个 router 。我们可以根据这个规则来编写测试。

在这里插入图片描述


  • 在浏览器运行 http://localhost:3000 ,效果如下

在这里插入图片描述


修改端口号

方式一:

  • json-server 默认端口为 3000,可以根据需要自定义端口号。
json-server --watch db.json --port 3006

方式二:

  • 告诉你个可以偷懒的方式吧,如果觉得每次 启动服务 都要执行相关命令,可以在 db.json 同级文件夹新建一个 package.json 文件,然后把以下配置信息放在里面就可以啦。
{"scripts": {"mock": "json-server db.json --port 3006"}
}

  • 注意启动服务的方式:执行以下命令即可。
npm run mock

数据操作

测试数据源

  • 直接复制到所创建的 db.json 文件中
{"subject": [{"id": 1,"name": "JAVA","price": 888 },{"id": 2,"name": "GO","price": 2088},{"id": 3,"name": "VUE","price": 288}]
}

查询数据


获取数据方式

方式一:
  • 直接在 url 后面拼接 id
http://localhost:3006/subject/3

  • 返回数据格式:对象
{id: 3,name: "VUE",price: 288
}

方式二:
  • 也是我们常见 GET 的传参方式,拼接需要查询参数
http://localhost:3006/subject?id=3

  • 返回数据格式:数组
[{id: 3,name: "VUE",price: 288}
]

分页获取数据

  • _page:页码
  • _limit:每页显示数量,如果没有指定,默认每页10条数据。
http://localhost:3006/subject?_page=1&_limit=2

排序数据

  • _sort:排序字段
  • _order:排序方式【asc | desc】,默认asc
http://localhost:3006/subject?_sort=id&_order=desc

截取数据

  • 使用 slice 方式,通过参数 _start 指定开始位置,_end指定结束位置
  • 注意: 是通过 下标 方式截取
  • 也可以结合_limit 指定开始位置算起,往后取n个数据。
http://localhost:3006/subject?_start=3&_end=6http://localhost:3006/subject?_start=3&_limit=6

区间数据

  • _gte: 大于等于
  • _lte: 小于等于
  • _ne: 不等于
  • _like: 模糊查询
http://localhost:3006/subject?id_gte=2&_lte=5http://localhost:3006/subject?name_like=V

配置静态资源服务器

  • 在根目录下创建 json 文件,例 json_server_config.json
  • 在根目录下创建 public 目录,存放静态资源。
{"port": 3006,"watch": true,"static": "./public","read-only": false,"on-cors": true,"no-gzip": false
}
  • 修改 package.json 文件中启动命令
{"name": "my-json-server","version": "1.0.0","description": "","main": "index.js","scripts": {"mock1": "json-server db.json --port 3006","mock": "json-server --c json_server_config.json db.json"},"keywords": [],"author": "","license": "ISC"
}

  • 因为配置文件中指定静态文件的目录,所以访问图片时可以忽略 public 目录。
  • 例:访问图片(public/image):http://localhost:3006/image/test.png
http://www.lryc.cn/news/6395.html

相关文章:

  • RabbitMQ运行机制
  • 【Spring Cloud Alibaba】(三)OpenFeign扩展点实战 + 源码详解
  • 面向对象设计原则
  • 2022年“网络安全”赛项湖南省赛选拔赛 任务书
  • 学习笔记:Java 并发编程⑥_并发工具_JUC
  • Linux文件隐藏属性(修改与显示):chattr和lsattr
  • 广东省基层就业补贴
  • 高压放大器在超声导波钢轨传播中的应用
  • Java字符串常见拼接方式
  • 商城业务:购物车
  • 计算机网络学习笔记(一)
  • 【单目标优化算法】烟花优化算法(Matlab代码实现)
  • 微服务项目【秒杀商品展示及商品秒杀】
  • DIDL3_模型选择、复杂度、过欠拟合的相关概念
  • Android 9.0 去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示功能实现
  • AntDB-M设计之内存结构
  • 互联网舆情监测公司监测哪些内容,TOOM北京舆情监测公司
  • 一篇文章带你熟练使用Ansible中的playbook
  • HashedWheelTimer
  • OPenCV库移植到ARM开发板子上面配置过程
  • Jenkins实现CI/CD
  • 如何给img标签里的请求添加自定义header
  • Linux系统基本概念操作,用户和文件权限管理
  • 数据库中的单表查询和多表查询
  • 全网详解MyBatis-Plus LambdaQueryWrapper的使用说明以及LambdaQueryWrapper和QueryWapper的区别
  • 暴力破解(new)
  • Android12之apex调试
  • Python - 数字(Number)数据类型常用操作
  • QT(51)-动态链接库-windows
  • [Vivado那些事儿]将自定义 IP (HDL)添加到 Vivado 模块设计(Block Design)