Json-server 的使用教程

目录

  • 前言
  • 一、简介
  • 二、安装与配置
    • 1. 安装 node-js
    • 2. npm 镜像设置
    • 3. 安装 json-server
  • 三、使用
    • 1. 创建本地数据源
    • 2. 启动 Json Server
    • 3. 操作数据
      • (1)查询数据
      • (2)新增数据
      • (3)修改数据
      • (4)删除数据


前言

json-server 可以让前端人员不用去编写后端的代码,就能在本地搭建一个 json 服务,可用于测试一些业务逻辑,便于调试调用。

在前后端分离的开发模式下前端使用 json-server 模拟数据接口, 这时候 后端接口还没有开发出来, 前端又需要数据进行开发,这种情况下就需要前端先行模拟数据, 等后端接口写好进行 targetUrl 进行替换。


一、简介

github 地址:https://github.com/typicode/json-server

npm 地址:https://www.npmjs.com/package/json-server

在这里插入图片描述

json-server 是一个零代码快速搭建本地 RESTful API 的工具,具有以下几个主要特点和功能:

  • json-server 使用 JSON 文件作为数据源,通过提供一组简单的路由和端点来模拟后端服务器的行为
  • 它允许前端开发人员在不依赖后端 API 的情况下进行开发,通过本地搭建一个 JSON 服务来快速生成 REST API 风格的后端服务

功能特性:

  • 跨平台兼容:一个可执行文件即可在多种操作系统上运行
  • 简单易用:只需访问特定 URL,即可查看数据列表并开始通信
  • 安全可靠:允许通过防火墙设置,只开放指定的端口,保护用户数据安全
  • WebsocketWeb 服务器一体化:内置Web服务器,支持在任何地方与设备建立 WebSocket 连接
  • 易于集成:通过 JSON 格式交换数据,便于前后端开发
  • 支持跨域、jsonp、路由订制、数据快照保存等功能

二、安装与配置

1. 安装 node-js

json-server 基于 npm 进行安装,需要先安装 Node.js,因为 npmNode.js 的包管理器

node-js 下载:https://nodejs.org/en/download/

在这里插入图片描述

一般会选择在 LTS 下进行下载,因为 LTS 是稳定版本的,然后根据自己电脑的系统选择安装,比方说我电脑是 windows-64x 的,那我就点击 Windows Installer(.msi) > 64-bit 就会开始下载

在这里插入图片描述

如果想要下载旧版本可在 Previous Release 中查询

在这里插入图片描述
点击 Releases 就能跳转到对应的下载界面

在这里插入图片描述
或者直接在地址上面输入,点击 enter 也能获取

在这里插入图片描述

PS:建议 node-js 的版本最好在 16 以上

点击对应的包即可下载完成

在这里插入图片描述

下载好安装程序包之后,只需要双击打开即可进行安装

在这里插入图片描述

node 的安装也是傻瓜式的,一直 next 即可

在这里插入图片描述

然后点击 finsh

检测 node-js 是否安装成功,只需要 win + R 调起 运行命令框,输入 cmd 打开 cmd窗口,再输入 node -v 查看 node 的版本,如果有显示版本信息,就表明 node-js 安装成功了

在这里插入图片描述
npmnode-js 的包管理和分发工具,当安装完成 node-jsnpm 也随之安装完成,可以通过 npm -v 来校验是否安装成功

在这里插入图片描述


2. npm 镜像设置

vue 中经常会使用 npm 来安装一些包,而 npm 的下载镜像是在国外,所以使用 npm 下载会非常的慢,这里有两种方式来解决这个问题:

  • 方式一:使用 yarn 进行安装

    使用 yarn 安装就需要保证当前系统有下载过 yarn,同样可以在 cmd窗口 中输入 yarn -v 来检测是否安装过 yarn

    在这里插入图片描述

    如果没有就下载,输入:npm i -g yarn,下载完成之后仍旧可以输入 yarn -v 来进行检测

    在这里插入图片描述

  • 方式二:设置 npm 镜像为国内的

    可以在 cmd窗口 中通过 npm config get registry 命令来查询 npm 所使用的镜像

    在这里插入图片描述

    默认使用的镜像是:https://registry.npmjs.org/,如果你 npm 所使用的镜像是这个的话,就换成国内的,比如:

    (1)https://registry.npm.taobao.org/

    (2)https://registry.npmmirror.com

    比如我使用 https://npmmirror.com/ 所提供的镜像 https://registry.npmmirror.com

    在这里插入图片描述

    那就可以通过 npm config set registry https://registry.npmmirror.com 这行命令将镜像设置为 https://registry.npmmirror.com 即可

    在这里插入图片描述


3. 安装 json-server

Win + R 调出运行对话框,输入 cmd 打开命令窗口

再输入以下命令进行全局安装:

npm install -g json-server

在这里插入图片描述

输入以下命令查看是否安装成功

json-server --version

在这里插入图片描述

如果安装成功会显示版本信息


三、使用


1. 创建本地数据源

首先需要创建一个本地数据源,格式是 json 形式的,例如:

{
    "users": [
        {
            "id": "1",
            "name": "Mico",
            "age": 18
        },
        {
            "id": "2",
            "name": "Rose",
            "age": 21
        },
        {
            "id": "3",
            "name": "Jack",
            "age": 22
        },
        {
            "id": "4",
            "name": "Jon",
            "age": 19
        }
    ]
}

在这里插入图片描述


2. 启动 Json Server

语法:

json-server [options] <source>

在这里插入图片描述

其它参数说明:

参数简写说明默认值
--config-c指定配置文件路径json-server.json
--port-p指定端口3000
--host-H指定主机名localhost
--watch-w监控文件变化
--routes-r指定路由文件路径
--middlewares-m指定中间件文件路径
--static-s指定静态文件文件夹路径
--read-only–ro指定只允许get请求
--no-cors–nc禁止跨域共享
--no-gzip–ng禁止gzip压缩
--snapshots-S指定快照目录
--delay-d指定延迟返回时长(ms)
--id-i指定数据库的ID属性id
--foreignKeySuffix–fks指定外键前缀id
--quiet-q抑制来自输出的日志消息
--help-h显示帮助
--version-v显示版本号

打开命令窗口

在这里插入图片描述
输入以下命令启动 json server

json-server --watch db.json

在这里插入图片描述

默认端口号为 3000,如果想要修改端口号,在启动时添加 --port 端口号 即可,例如:

json-server --watch db.json --port 9527

在这里插入图片描述

也可以将参数写在配置文件(json-server.json)中,例如:

{
    "port": 4396,
    "watch": true,
    "static": "./static",
    "read-only": false,
    "no-cors": false,
    "no-gzip": false
}

在这里插入图片描述

指定配置文件启动:

json-server --watch db.json --config json-server.json

启动成功之后就能在游览器或 Postman 上进行访问了,例如:

在这里插入图片描述


3. 操作数据

以上述 db.json 中的数据为例,展示 json-server 如何通过 API 来操作数据


(1)查询数据

查询数据需要用 GET 方法

  • 查询所有数据

GET localhost:3000/users

在这里插入图片描述

  • 根据 ID 查询数据

GET localhost:3000/users/1

在这里插入图片描述

  • 条件查询

GET localhost:3000/users?age=22

在这里插入图片描述

GET localhost:3000/users?age=22&name=%ck

在这里插入图片描述

  • 分页查询

可以使用 _page_limit 对数据进行分页

GET localhost:3000/users?_page=1&_limit=2

在这里插入图片描述


(2)新增数据

新增数据需要用 POST 方法

POST localhost:3000/users

json:

{
    "id": "5",
    "name": "Tom",
    "age": 23
}

在这里插入图片描述

验证:

在这里插入图片描述


(3)修改数据

修改数据需要用 PUT 方法

PUT localhost:3000/users/3

json:

{
    "id": "3",
    "name": "Mike",
    "age": 23
}

在这里插入图片描述

验证:

在这里插入图片描述


(4)删除数据

修改数据需要用 DELETE 方法

DELETE localhost:3000/users/3

在这里插入图片描述

验证:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/700763.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

swift微调牧歌数据电商多模态大语言模型

大规模中文多模态评测基准MUGE_数据集-阿里云天池多模态理解和生成评估挑战榜(MUGE)是由阿里巴巴达摩院智能计算实验室发起,由阿里云天池平台承办,并由浙江大学、清华大学等单位共同协办。 Mhttps://tianchi.aliyun.com/dataset/107332微调的是牧歌数据集,结果都不好,记录…

数据结构(DS)学习笔记(二):数据类型与抽象数据类型

参考教材&#xff1a;数据结构C语言版&#xff08;严蔚敏&#xff0c;杨伟民编著&#xff09; 工具&#xff1a;XMind、幕布、公式编译器 正在备考&#xff0c;结合自身空闲时间&#xff0c;不定时更新&#xff0c;会在里面加入一些真题帮助理解数据结构 目录 1.1数据…

适配器模式和装饰器模式

文章目录 适配器模式1.引出适配器模式1.多功能转换插头2.基本介绍3.工作原理 2.类适配器1.基本介绍2.类图3.代码实现1.Voltage220V.java2.Voltage5V.java3.VoltageAdapter.java4.Phone.java5.Client.java6.结果 4.类适配器的注意事项 3.对象适配器1.基本介绍2.使用对象适配器改…

Linux/Windows 安装 RocketMQ 详细图文教程!

Linux 安装 RocketMQ 首先&#xff0c;你需要从RocketMQ的官方网站或GitHub仓库下载最新的RocketMQ发行版下载安装&#xff0c;官网下载地址&#xff1a;https://rocketmq.apache.org/download/。 接下来配置环境变量&#xff1a; 输入vim /etc/profile命令配置环境变量输入i进…

人工智能强化学习:核心内容、社会影响及未来展望

欢迎来到 Papicatch的博客 文章目录 &#x1f40b;引言 &#x1f40b;强化学习的核心内容 &#x1f988;强化学习基本概念 &#x1f40b;强化学习算法 &#x1f988;Q学习&#xff08;Q-Learning&#xff09; &#x1f988;深度Q网络&#xff08;Deep Q-Network, DQN&…

我在地球学Python基础第一篇:计算机组成原理基本知识和编程语言基础知识

业精于勤荒于嬉&#xff0c;行成于思毁于随。 今天开始系统记录学习Python 第一篇 计算机组成原理一、什么是计算机二、计算机是由什么组成的&#xff1f;2.1 硬件系统2.2 软件系统 三、计算机如何处理程序&#xff1f;四、编程语言 计算机组成原理 学习目标&#xff1a; 1、…

python怎么保留小数

保留两位小数&#xff0c;并做四舍五入处理 方法一&#xff1a;使用字符串格式化 a 12.345 print("%.2f" % a)# 12.35 方法二&#xff1a;使用round内置函数 a 12.345 a1 round(a, 2) print(a1)# 12.35 方法三&#xff1a;使用decimal模块 from decimal import D…

企业级开源项目,云缓存解决方案:CacheCloud

CacheCloud&#xff1a;简化缓存管理&#xff0c;释放数据潜力- 精选真开源&#xff0c;释放新价值。 概览 CacheCloud是由搜狐视频团队开发的一款开源的Redis缓存云平台&#xff0c;支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本&…

AI网络爬虫:批量爬取AI导航网站Futurepedia数据

Futurepedia致力于使AI技术对各行各业的专业人士更加可理解和实用&#xff0c;提供全面的AI网站和工具目录、易于遵循的指南、每周新闻通讯和信息丰富的YouTube频道&#xff0c;简化AI在专业实践中的整合。如何把Futurepedia上的全部AI网站数据爬取下来呢&#xff1f; 网站一页…

Linux基础(2)基础命令与vim

文件的复制和移动 cp 拷贝文件和目录 cp file file_copy --> file 是目标文件&#xff0c;file_copy 是拷贝出来的文件 cp file one --> 把 file 文件拷贝到 one 目录下&#xff0c;并且文件名依然为 file cp file one/file_copy --> 把 file 文件拷贝到 one 目录下…

分布式安装安装LNMP_......

分布式安装安装LNMP LNMP是什么Nginx源码编译安装准备工作关闭安全防护配置上传源码包并解压安装编译源码依赖包创建运行用户 编译安装预配置安装选项编译源代码&&安装 配置优化优化路径添加 Nginx 系统服务 Mysql源码编译安装准备工作关闭安全防护配置卸载mariadb上传…

孟德尔随机化R包:TwoSampleMR和MR-PRESSO安装

1. 孟德尔随机化R包 看一篇文章&#xff0c;介绍孟德尔随机化分析&#xff0c;里面推荐了这两个R包&#xff0c;安装了解一下&#xff1a; Methods:Genome-wide association study (GWAS) data for autoimmune diseases and AMD were obtained from the IEU Open GWAS databas…

@JsonValue和@JsonCreator使用

当实体类中的属性为枚举类型时&#xff0c;将其序列化成json字符串传给前端&#xff0c;传递的应该是有效的值而不是枚举常量。 1. Get-Started Data public class Student {private Long id;private String userName;private String telephone;private String email;private …

VMware Workerstation开启虚拟机后,产生乱码名称日志文件

问题情况 如下图所示&#xff0c;我的虚拟机版本是16.1.2版本&#xff0c;每次在启动虚拟机之后&#xff0c;D盘目录下都会产生一个如图下所示的乱码名称文件。同时&#xff0c;虚拟机文件目录也是杂乱不堪&#xff0c;没有按照一台虚拟机对应一个文件夹的形式存在。 问题处理…

上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们说过&#xff0c;h750和之前的103、407相比较&#xff0c;本身cpu频率比较高&#xff0c;flash大小一般&#xff0c;但是ram比较大&#x…

flink standalone部署模式

standalone模式可以在单台机器以不同进程方式启动&#xff0c;也可以以多机器分布式方式启动。 任务的提交模式有三种&#xff1a;application mode、session model、per-job mode&#xff08;1.4x版本后过时&#xff09;。 注意区分任务的提交模式与集群的部署模式区别。 以…

【Qt】文件操作

文章目录 1 :peach:Qt 文件概述:peach:2 :peach:输入输出设备类:peach:3 :peach:文件读写类:peach:4 :peach:文件和目录信息类:peach: 1 &#x1f351;Qt 文件概述&#x1f351; 文件操作是应⽤程序必不可少的部分。Qt 作为⼀个通⽤开发库&#xff0c;提供了跨平台的⽂件操作能…

第二十七章HTML.CSS综合案例(三)

5.小米侧边栏 效果如下&#xff1a; 代码图如下&#xff1a; <style>*{margin: 0;padding: 0;}ul{list-style: none;}a{text-decoration: none;}.box{width: 100%;height: 100%;position: absolute;background-image: linear-gradient(to right, #a07ad0, #c39340);}.…

C语言 指针——字符数组与字符指针:字符串的输入和输出

目录 逐个字符输入输出字符串 整体输入输出字符串 用scanf输入/输出字符串 用gets输入/输出字符串 用scanf输入/输出字符串 用gets输入/输出字符串 逐个字符输入输出字符串 #define STR_LEN 80 char str[STR_LEN 1 ]; 整体输入输出字符串 用scanf输入/输出字符串 用gets…

javaWeb项目-ssm+vue学生成绩管理系统功能介绍

本项目源码&#xff1a;java基于SSMVUE学生成绩管理系统源码文档资料资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SS…