现在的项目在开发时,前后端分离已经成为了一种基本常识,一般来说前后端之间的通信会使用诸如rest api之类的形式。可当你正在摸鱼时,前端小姐姐兴冲冲来找你要 API 来进行调试,这时你该怎么办?
今天我们来推荐的项目能30秒创建 REST API 服务,快速满足前端小姐姐的需求, 目前在GitHub已接近70K Star,他就是:json-server 。
json-server 是什么?
json-server 是一个 nodejs 的 API 模拟工具,可以帮助你在30秒内模拟出一个完整的Rest API。你只需要一个JSON格式的数据作为API的数据,执行几条命令,完全不需要写代码,就可以创建一套API了,可以说是前端调试福音。
下面我截了一下json-server 的github star历史数据,很明显大家都对这个项目非常喜欢,上升趋势一直很强劲。
为什么用 json-server
- 快捷:安装只需一行命令,启动只需一行命令。另外不用写代码这点真的是省了很多的工作量。
- 轻量:搞一个专门的Rest API后端服务,常见的比如express + MongoDB,对比一下json-server的一个 nodejs 包,确实很轻便。
- 完善:json-server 提供的功能很完善,从调试的角度,基本需求可以全部满足。
使用 json-server
安装 json-server 依赖 nodejs,所以需要先确认你的本地环境已经安装好了nodejs。
如果没有安装,可以使用NVM来装,比较方便管理多版本,这里就不多说了,都很简单大家可以自己安装。
接下来就是安装 json-server
npm install -g json-server
接下来我们需要提前准备一个JSON文件作为数据源,我简单编了一下,大家可以自己随便搞一下。
接下来启动json-server
json-server --watch db.json
在命令行中看到这些信息就说明已经启动成功了,访问 http://localhost:3000 可以看到一些基本的欢迎信息。
接下来可以访问具体的路径,来调用API了。首先用最常见的GET 来获取数据。
还可以像普通 Rest API 一样来使用的,比如PUT 修改数据,Delete删除等,都会对应的存到JSON文件中去。
再列出一些 json-server 支持的常用功能:
子元素
- x.y.z...
- x.y.z[i]...
- GET /posts?author.name=foo
- GET /posts?author.email=foo
- GET /posts?names[0]=foo
范围
- start
- end
- limit
- GET /posts?_start=10&_end=20
- GET /posts?_start=10&_limit=10
分页
使用_page和 _limit(可选)对返回的数据进行分页。
- GET /posts?_page=7
- GET /posts?_page=7&_limit=20
排序:
- _sort
- _order(默认升序)
- GET /posts?_sort=views&_order=asc
- GET /posts/1/comments?_sort=votes&_order=asc
条件
包括以下:
- `` → ==
- lt → <
- lte → <=
- gt → >
- gte → >=
- ne → !=
GET /posts?views_gte=10&views_lte=20
还有挺多的,再写就把文档搬来了。更多使用信息,还是去查看文档吧。
项目信息
- 项目名称:json-server
- GitHub 链接:https://github.com/typicode/json-server
- Star 数:69K+