json-server 的使用(入门篇)

        作为一个前端开发工程师,在后端还没有ready的时候,不可避免的要使用mock的数据。很多时候,我们并不想使用简单的静态数据,而是希望自己起一个本地的mock-server来完全模拟请求以及请求回来的过程。json-server是一个很好的可以替我们完成这一工作的工具。我们只需要提供一个json文件,或者写几行简单的js脚本就可以模拟出RESTful API的接口。

首先,提供一个很不错的json-server 入门视频小教程Creating Demo APIs with json-server

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

安装json-server

npm install -g json-server
$ json-server -v
0.14.0

创建db.json

在一个文件夹下新建一个db.json文件

{
  "posts": [
    { "id": 1, "title": "json-server", "author": "typicode" }
  ],
  "comments": [
    { "id": 1, "body": "some comment", "postId": 1 }
  ],
  "profile": { "name": "typicode" }
}

启动json-server

在当前文件夹下输入如下命令:

json-server db.json

控制台如下:

 \{^_^}/ hi!

  Loading db.json
  Done

  Resources
  http://localhost:3000/posts
  http://localhost:3000/comments
  http://localhost:3000/profile

  Home
  http://localhost:3000

  Type s + enter at any time to create a snapshot of the database

表明我们的json-server 已经启动成功。我们可以通过postman以及浏览器发送请求,获得相应数据了。 “http://localhost:3000/posts”等即为请求的url。

发送GET请求http://localhost:3000/posts,可获得如下的response:

[
  {
    "id": 1,
    "title": "json-server",
    "author": "typicode"
  }
]

同时json-server还给我们提供了一个浏览器的可视化主页,通过“http://localhost:3000”即可进行访问。

在浏览器中打开“http://localhost:3000”,界面如下图所示:

分别点击相应的Resources链接,可直接查看每个endpoint的返回结果,同时,它还标注了返回结果的类型。

Tips:

1、使用“json-server --watch db.json”命令可以实时监测db.json的变化;如果没有 -- watch 命令,即使db.json已经发生了改变,重新发请求,仍然会返回原先的mock data,返回状态码304,认为没有变化。

GET /people 304 3.883 ms - -

2、同时,我们可以发送 POST、PUT、PATCH和DELETE请求,相应的结果会通过lowdb自动保存到db.json。关于POST、PUT等相关请求的发送,这里不再做赘述,视频教程中有详细的讲解。

3、我们的request body应该是一个json对象,比如{"name":"Lynn"};

4、POST、PUT、PATCH请求头中要包含Content-Type: application/json

5、id的值是自动生成且不易变的。PUT请求和PATCH请求中自带的id会被忽略。

 

至此,已经可以满足mock-server的一些基本需求,下面将详细讲解json-server的一些更高级功能。

json-server的使用(进阶篇) 未完待续。。。

  • 25
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
使用 `json-server-auth` ,您需要按照以下步骤进行操作: 1. 首先,确保您已经安装了 `json-server` 和 `json-server-auth` 。您可以使用以下命令进行安装: ``` npm install -g json-server json-server-auth ``` 2. 创建一个 JSON 文件,用于存储您的数据。例如,您可以创建一个名为 `db.json` 的文件,并在其中定义您的数据。 3. 创建一个名为 `server.js` 的文件,并在其中编写以下代码: ```javascript const jsonServer = require('json-server'); const auth = require('json-server-auth'); const server = jsonServer.create(); const router = jsonServer.router('db.json'); const middlewares = jsonServer.defaults(); server.db = router.db; server.use(middlewares); server.use(auth); server.use('/api', router); // 定义您的 API 路由 server.listen(3000, () => { console.log('JSON Server is running on port 3000'); }); ``` 此代码将创建一个基本的 `json-server` 服务器,并添加了 `json-server-auth` 中间件。 4. 启动服务器,您可以使用以下命令启动: ``` node server.js ``` 服务器将在端口 `3000` 上运行,您可以根据需要更改端口号。 现在,您已经成功地使用 `json-server-auth` 创建了一个具有身份验证功能的 JSON 服务器。您可以通过访问 `http://localhost:3000` 来访问服务器,并使用 `json-server-auth` 提供的身份验证功能进行登录和访问受保护的路由。请注意,您需要根据您的需求进行额外的配置和定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值