json-server环境搭建及使用

news2024/11/28 6:34:58

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=6

http://localhost:3006/subject?_start=3&_limit=6

区间数据

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

http://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.coloradmin.cn/o/345187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Datawhale][CS224W]图机器学习(二)

文章目录一、概述1.1 图的结构1.2 特征处理1.3 学习任务1.3.1 节点分类1.3.2 链接预测1.3.3 图级任务二、传统方法三、统计特征与核方法3.1 节点层面3.2 连接层面3.3 图层面3.4 节点袋参考文献Datawhale开源学习社区 x 同济子豪兄 Stanford课程中文精讲系列笔记本文同时发布在&…

揭秘涨薪50%经验:从功能测试到自动化测试,我是如何蜕变的?

本人在今年互联网大环境如此严峻的情况下,作为一个刚毕业不到一年的初级测试,赶在“金三银四”依然拿到了一些面试机会,并且成功拿下4家公司的offer,其中不乏互联网大厂,而且最高总包给到了接近double(无炫…

动态规划问题

目录 一、动态规划简介 二、利用动态规划解决问题 1、斐波拉契序列 2、拆分词句 3、三角形最小路径和 4、不同的路径数目(一) 5、带权值的最小路径和 6、求路径ii 7、01背包 8、不同子序列 9、编辑距离 10、分割回文串 一、动态规划…

Go 语言中的 Slice 陷阱:如何避免常见错误

Go 语言中的 Slice 陷阱:如何避免常见错误前言slice 作为函数 / 方法的参数进行传递的陷阱slice 通过 make 函数初始化,后续操作不当所造成的陷阱性能陷阱小结耐心和持久胜过激烈和狂热。 哈喽大家好,我是陈明勇,本文介绍的内容是…

Lesson 7.1 无监督学习算法与 K-Means 快速聚类

文章目录一、聚类算法与无监督学习二、K-Means 快速聚类的算法原理1. K-Means 快速聚类的基本执行流程2. K-Means 快速聚类的背后的数学意义三、K-Means 快速聚类的 sklearn 实现方法1. sklearn 中实现 K-Means 快速快速聚类2. 轮廓系数基本概念与 sklearn 中实现方法从现在开始…

【基于jeeSite框架】SpringBoot+poi+Layui自定义列表导出

文章目录功能效果思路代码前台后台easyPoi,easyExcel,poi三者的区别poipoi依赖导出ExcelHSSF方式导出XSSF方式导出SXSSF方式导出导入excelHSSF方式导入XSSF方式导入SXSSF方式导入easyPoi依赖包采用注解导出导入easyExcel依赖采用注解导出导入API文档easyPoi操作文档…

内网渗透(二十五)之Windows协议认证和密码抓取-使用Hashcat和在线工具破解NTLM Hash

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

说说Knife4j

Knife4j是一款基于Swagger2的在线API文档框架使用Knife4j, 需要 添加Knife4j的依赖当前建议使用的Knife4j版本, 只适用于Spring Boot2.6以下版本, 不含Spring Boot2.6 在主配置文件(application.yml)中开启Knife4j的增强模式必须在主配置文件中进行配置, 不要配置在个性化配置文…

Java 代理模式详解

1、代理模式 代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 代理模式的主要作用是扩展目标对象…

C++——运算符重载

1、运算符重载的概念 运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。运算符重载的目的是让语法更加简洁运算符重载不能改变本来寓意,不能改变基础类型寓意运算符重载的本质是另一种函数调用…

【半监督医学图像分割 2021 TMI】SimCVD 论文翻译

文章目录【半监督医学图像分割 2021 TMI】SimCVD 论文翻译摘要1. 介绍2. 相关工作3. 方法3.1 总览3.2 任务制定3.3 基础体系结构3.4 边缘对比蒸馏4. 实验4.1 数据集和预处理4.2 实现细节5. 结论5.1 实验:LA5.2 实验:Pancreas6. 消融研究6.1 边界感知对比…

嵌入式ARM工业边缘计算机BL302的CAN总线接口如何设置?

CAN 接口如图所示,输入如下命令: ifconfig -a //查看所有网卡 如果 FlexCAN 驱动工作正常的话就会看到 CAN 对应的网卡接口,如图。从图中可 以看出,有一个名为“can0”的网卡,这个就是 BL302 板上的 CAN1 接口对应的 c…

借助亚马逊云科技,Early Data完成数据云上安家、实现降本增效

数字经济时代,伴随着大数据应用的不断深入,企业对用户及市场发展动向的判断正变得愈加精准。数据资产不再是虚无缥缈的东西,而是可以帮助企业切切实实找到业务增长点,洞悉潜在商机,拥有巨大潜力的“宝藏”。IDC数据显示…

【 mybatis的工作流程】

目录一.mybatis执行流程二.使用工具类简化项目(反射的体现)2.1 Sqlsession工厂对像2.2 工具类(可直接放在工具类使用)一.mybatis执行流程 1.1 读取主配置文件mybatis-config.xml,获得运行环境和数据库连接。 1.2 加载映…

对象之间的关系

目录1. 依赖2. 关联3. 聚合4. 组合Java的对象/类之间有四种关系:依赖、关联、组合、聚合。 1. 依赖 依赖(Dependency): 一个对象的功能依赖于另一个对象。 类比:人类生存依赖食物和空气 体现:被依赖者体…

Ethercat系列(5)TWcat3激活过程的协议分析(续1)

顺序写系统时间偏移从-》主顺序写时间延迟主-》从从-》主顺序写分布式时钟启动主-》从从-》主读多重写系统时间主-》从从-》主顺序写应用层控制主-》从从-》主顺序读错误计数器主-》从从-》主顺序读应用层状态主-》从从-》主顺序读应用层,广播写错误计数器主-》从从…

2023 年首轮土地销售活动来了 与 The Sandbox 一起体验「体素狂热」!

2 月 14 日晚上 11 点,开始你的体素冒险。 The Sandbox 很高兴推出 2023 年的第一次土地销售活动。欢迎来到「体素狂热 (Voxel Madness)」! 简要概括 土地销售抽奖活动将于北京时间 2 月 14 日星期二晚上 11 点开始 「体素狂热」 土地销售活动将于 2 月…

企业公众号菜单添加视频的完整教程(组图)

公众号实用教程,公众号运营教程。 有公众号的朋友,看过来,今天来教教大家,在企业微信公众号中如何调用视频列表。先上一个效果吧: 最终效果的截图 -关注酷播公众号,查看实际的应用效果(在本公众…

【shell 编程大全】脚本交互 以及表达式

脚本交互 以及表达式 1. 概述 嗨,我又来继续分享了。今天分享的内容是脚本交互,再开始接下来的分享开始之前,让我们来回顾下上一次(【shell 编程大全】内容格式化以及多样化输出)的内容: 内容格式化 重定向管道符后台执行信息符号…

C语言学习_DAY_3_基本数据类型_运算符与表达式【C语言学习笔记】

目录 I. 基本数据类型 II. 复杂的输出和输入语句编写 III. 运算符与表达式 III.I 算术运算符 III.II 关系运算符 III.III 逻辑运算符 III.IV 位运算符 III.V 三目运算符 III.VI 逗号运算符 高质量博主,点个关注不迷路🌸🌸&#x1f3…