📌  相关文章
📜  json-server :文件 C:\Users\ROUSHAN SHARMA\AppData\Roaming\npm\json-server.ps1 无法加载,因为在此系统上禁用了运行脚本.有关更多信息,请参阅 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:43:34.797000             🧑  作者: Mango

使用json-server

简介

json-server 是一个基于 Node.js 的库,旨在提供一个快速创建 REST API 的解决方案。它可以使用 JSON 文件作为数据存储,并提供简单的 API 对这些数据进行 CRUD 操作。

安装

json-server 可以使用 npm 进行安装:

npm install -g json-server
使用
创建 JSON 文件

在使用 json-server 之前,需要准备一个符合规范的 JSON 文件。以 db.json 为例,文件内容应如下:

{
  "posts": [
    {
      "id": 1,
      "title": "json-server",
      "author": "John Doe"
    },
    {
      "id": 2,
      "title": "REST API",
      "author": "Jane Doe"
    }
  ],
  "comments": [
    {
      "id": 1,
      "body": "some comment",
      "postId": 1
    }
  ]
}
启动服务

使用以下命令启动 json-server

json-server --watch db.json

如果没有报错,命令行输出应如下:

 \{^_^}/ hi!

  Loading db.json
  Done

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

  Home
  http://localhost:3000

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

在浏览器中访问 http://localhost:3000/postshttp://localhost:3000/comments,可以看到对应的 JSON 数据。

路由

json-server 默认为每个资源创建以下路由:

| 路由 | 描述 | | --- | --- | | GET /posts | 返回所有帖子的列表 | | GET /posts/1 | 返回 id 为 1 的帖子 | | GET /posts?title=title | 返回具有"title"标题的所有帖子 | | POST /posts | 创建一个新帖子 | | PUT /posts/1 | 更新 id 为 1 的帖子 | | PATCH /posts/1 | 更新 id 为 1 的帖子的部分内容 | | DELETE /posts/1 | 删除 id 为 1 的帖子 |

对于每个资源,可以通过 --routes 选项自定义路由。例如,以下命令将为名为 users 的资源自定义路由:

json-server db.json --routes routes.json

routes.json 的内容应如下:

{
  "/api/*": "/$1",
  "/:resource/:id/show": "/:resource/:id",
  "/posts/:category": "/posts?category=:category",
  "/articles\\?id=:id": "/posts/:id"
}
其他选项

除了上面提到的 --watch--routes 选项外,json-server 还支持以下选项:

| 选项 | 描述 | | --- | --- | | --host <hostname> | 指定主机名。默认为 localhost。无论何时,都可以使用 0.0.0.0 使服务器在网络上公开。 | | --port <number> | 指定要使用的端口。默认为 3000。 | | --middlewares <file|folder> | 指定中间件文件夹或文件。 | | --static <file|folder> | 指定静态文件夹或文件。 | | --delay <number> | 模拟网络延迟(毫秒)。 | | --id <property> | 指定用作对象标识符的属性。默认为 id。 | | --watch | 检测文件更改并重新加载。启用此选项时,还将自动开启 --delay 2000。 | | --quiet | 以静默模式运行,只显示关键信息。 | | --help | 显示帮助信息。 | | --version | 显示版本号。 |

小结

json-server 是一个快速创建 REST API 的解决方案,可以使用 JSON 文件作为数据存储,并提供简单的 API 对这些数据进行 CRUD 操作。它还支持自定义路由和其他选项,使它成为一个非常灵活的工具。

请注意,上述代码片段是基于 markdown 格式的文档。