自从用了这个 69k star 的项目,前端小姐姐再也不催我了

一般在开发前后端分离的项目时,双方会定义好前后端交互的 http 接口,根据接口文档各自进行开发。这样并行开发互不耽误,开发好后做个联调就可以提测了。

不过最近也不知道怎么回事,公司新来的前端小姐姐总是在刚开始开发的时候就来找我要接口返回的数据。本来我就没开发完,她还总赖在这里不走唠闲嗑打扰我工作,好烦啊。我翻出收藏夹里的链接发给她,然后说“你用这个工具 mock 一下请求 http 接口的返回值就好啦,用起来很简单的”。

项目简介

JSON Server 是一个 JavaScript 项目,你可以使用 JSON Server 在在 30 秒内创建一个 REST API 服务。正如它的名字一样,这个 api 服务是以 json 格式的数据为数据源,支持通过 http 请求获取对应的信息。

你可以理解成,JSON Server 是一个 web 服务,这个 web 服务的数据库,其实就是一个 json 格式的文件啦。

项目安装

JSON Server 的安装非常简单,直接使用 npm 命令即可:

npm install -g json-server

项目使用

数据准备与启动

首先,我们准备一份 JSON 格式的数据,保存为 db.json,当做 JSON Server 的数据源,如下:

{"posts": [{"id": 1,"title": "json-server","author": "typicode"},{"id": 2,"title": "husky","author": "typicode"},{"id": 3, "title": "lowdb","author": "typicode"},{"id": 4, "title": "jsonplaceholder","author": "typicode"}],"comments": [{"id": 1,"body": "some comment","postId": 1}],"profile": {"name": "typicode"}
}

之后,我们使用这个数据源启动 JSON Server。

json-server --watch db.json

看到这个可爱的画面,就说明启动成功啦。

访问数据

我们按照输出的提示,访问 http://localhost:3000 即可进入首页,查看总览信息。

其中,Resources 下的链接可以直接点击,会返回刚才 JSON 数据中,posts 字段对应的 JSON 格式信息。

好啦,接下来我就给大家介绍一些常见的用法。

使用 restful 风格来请求 id 为 1 的数据
http://localhost:3000/posts/1

传参的 get 请求
http://localhost:3000/posts?title=json-server

分页查询
http://localhost:3000/posts?_page=2&_limit=2

结果排序
http://localhost:3000/posts?_sort=id&_order=desc

范围查询
http://localhost:3000/posts?id_gte=2&id_lte=3

全文检索
http://localhost:3000/posts?q=json

获取全部数据
http://localhost:3000/db

然后你可以发现,如果更改了刚才的 db.json 文件里的内容,我们通过请求查询到的数据也会实时更新保持变化。

总结

总结一下,JSON Server 最大的优点就是方便!一行命令安装,一行命令启动。其他的工作量也就是用在编写 JSON 数据上了,不愧是项目简介里说的三十秒零编码搞定 mock 数据。

前端小姐姐会用之后,应该是如获至宝,再也不催我要接口调试啦,我又可以安静的写代码了,真好。

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

彩蛋时间

感谢你看到最后,作为如果你对开源感兴趣,欢迎关注我的公众号(文末有二维码哈)。回复eeee888,获取程序员面试指南以及海量学习资料~

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

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

相关文章

全行业通用商城小程序源码

一站式购物新体验 一、引言:开启数字化购物新时代 在数字化快速发展的今天,小程序成为了商家们连接消费者的重要桥梁。特别是“全行业通用商城小程序”,以其便捷的购物体验和多样化的功能,成为了越来越多商家和消费者的首选。本…

嵌入式STM32F103项目实例可以按照以下步骤进行构建和实现

嵌入式STM32F103项目实例可以按照以下步骤进行构建和实现: 1. 项目概述 目标:演示STM32F103开发板的基本功能,通过LED闪烁来实现。硬件需求:STM32F103开发板、LED灯、杜邦线、USB转串口模块(可选,用于调试…

Day12 单调栈 下一个最大元素

503. 下一个更大元素 II 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数…

[AIGC] 动态规划的类型以及在 LeetCode 上的应用

动态规划是一种解决问题的优秀策略,它适用于涉及优化问题、组合问题及最短路径问题等领域。下面我们来探究几类常见的动态规划问题,并提供相应的 LeetCode 题目以及 Java 代码实现。 文章目录 1. 一维动态规划2. 二维动态规划3. 背包型动态规划 1. 一维动…

Unity URP简单烘焙场景步骤

Unity URP简单烘焙场景步骤 前言项目场景布置灯光模型Lighting设置环境设置烘焙前烘焙后增加角色 问题解决黑斑硬边清理缓存 参考 前言 项目中要烘焙一个3D场景,用的URP渲染管线,简单记录一下。 项目 场景布置 灯光 因为场景中有能动的东西&#xf…

JAVA每日作业day6.24

ok了家人们今天学习了一些关键字,用法和注意事项,静态代码块这些知识,闲话少叙我们一起看看吧。 一,final关键字 1.1 final关键字的概述 final: 不可改变。可以用于修饰类、方法和变量。 类:被修饰的类&a…

GPT-5 一年半后发布?对此你有何期待?

GPT-5的即将发布无疑引发了广泛的关注和讨论。以下是一些对GPT-5潜在影响和应用场景的见解和期待: 1. 提升工作效率 GPT-5可能会在很多领域进一步提升工作效率。其“博士级”智能在特定任务上的表现可以帮助专业人士更快地完成复杂的工作。例如,在法律…

Zoho邮箱怎么注册?最强完整指南

Zoho企业邮箱,凭借其16年的产品历程和卓越的服务品质,已经成为全球超过1800万企业级客户的信赖之选。今天,我们将手把手教你如何注册Zoho邮箱。 一、Zoho邮箱是什么? Zoho邮箱是Zoho Workplace套件中的核心产品,专门…

Java中的正则表达式使用技巧

Java中的正则表达式使用技巧 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我们来探讨一下Java中正则表达式的使用技巧。正则表达式是一种强大…

【昇思初学入门】第六天打卡

函数式自动微分 学习心得 反向传播:神经网络在训练时,会使用一个叫做“反向传播”的方法。这个方法的基本思路是这样的:首先,神经网络会做出一个预测(我们称之为“logits”),然后我们将这个预…

【Python】已解决ModuleNotFoundError: No module named ‘requests’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决ModuleNotFoundError: No module named ‘requests’ 一、分析问题背景 在使用Python进行网络编程或数据抓取时,requests库因其简洁易用的特性而受到广泛欢迎。然…

简说caffe

Caffe(Convolutional Architecture for Fast Feature Embedding)是一个开源的深度学习框架,由加州大学伯克利分校的Berkeley Vision and Learning Center(BVLC)开发。它主要用于图像分类、分割和图像生成等任务。以下是…

PrestaShop的一些使用介绍

目录 PrestaShop 是一个功能丰富的开源电子商务解决方案。 1. 以下是其基本概念和架构的一些要点: 2. PrestaShop 的模块开发是扩展其功能的重要方式。以下是对 PrestaShop 模块开发的详细介绍: 开发环境准备: 3. PrestaShop 的模块开发允…

Vue项目环境搭建及git仓库新建

不会安装的 可以找下博客,我会在另外一个博客 单独讲解git的安装 接下后启动对应的git bash文件,可以发送快捷方式到桌面 启动git命令的窗口 之后就可以在对应的文件下,启动git命令窗口了 3.码云-项目代码管理仓库 链接:https:…

年化16.6%,全球大类资产使用lightGBM预测轮动——数据缓存提升效率

原创文章第568篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 Dataloader缓存 加载160个因子,10几支大类资产,这个计算还是需要一点时间,尤其在我们频繁运行的时候,需要等待,这里我们…

软件著作权申请(未完待续)

申请网站:中国版权保护中心 注册登录 选择注册身份,个人还是单位

Java基础:IO流

目录 一、定义 1.引言 2.分类 (1)按照流的方向分 (2)按操作文件的类型分 3.体系结构 二、字节流(以操作本地文件为例) 1. FileOutputStream 类 (1)定义 (2&am…

持续总结中!2024年面试必问的操作系统面试题(一)

一、什么是操作系统?它有哪些基本功能? 操作系统(Operating System,简称OS)是计算机系统中的一个关键软件,它管理计算机硬件资源并提供各种服务以方便用户和应用程序的运行。操作系统充当了用户与计算机硬…

赶紧收藏!2024 年最常见的操作系统面试题(一)

一、进程与线程的区别是什么? 进程与线程是操作系统中两种不同的执行单元,它们在资源使用、调度方式、通信机制等方面存在显著的区别。以下是进程与线程之间的主要区别: 定义: 进程:进程是操作系统进行资源分配和调度…

【tcomat】聊聊tomcat是如何打破双亲委派模型进行类加载的

双亲委派模型 对于JVM类加载器来说,其实就是如下的code,JDK提供的三个类加载器,每个类加载器都加载自己范围内的类。Boot\EXT\APP 三个。双亲委派一句话就是,先让老爸处理,老爸处理不了,给爷爷。爷爷处理不…