json-server 是一个快速构建 REST API 的工具

146 阅读2分钟

json-server 是一个快速构建 REST API 的工具,它使用 JSON 文件作为数据库。对于前端开发人员来说,json-server 是一个非常有用的工具,因为它可以在没有后端服务的情况下快速创建一个模拟的 RESTful API。这对于开发和测试前端应用非常有帮助。

json-server 的主要功能

  1. 快速启动:只需几行命令,就可以启动一个完整的 REST API 服务器。
  2. 支持常见的 HTTP 方法:支持 GET、POST、PUT、PATCH、DELETE 等常见的 HTTP 方法。
  3. 自动生成 RESTful 路径:根据 JSON 文件的结构自动生成标准的 RESTful 路径。
  4. 支持查询参数:支持通过查询参数过滤、排序和分页数据。
  5. 支持中间件:可以通过中间件自定义请求和响应。

安装和使用

1. 安装 json-server

你需要先安装 Node.js,然后通过 npm 安装 json-server

npm install -g json-server

2. 创建 JSON 文件

创建一个名为 db.json 的文件,并添加一些初始数据。例如:

{
  "posts": [
    { "id": 1, "title": "Hello World", "author": "flamingo-huohuo" },
    { "id": 2, "title": "Learning JSON Server", "author": "flamingo-huohuo" }
  ],
  "comments": [
    { "id": 1, "postId": 1, "body": "Great post!" },
    { "id": 2, "postId": 1, "body": "Thanks for sharing!" }
  ],
  "profile": { "name": "flamingo-huohuo" }
}

3. 启动服务器

在终端中运行以下命令,启动 json-server

json-server --watch db.json

默认情况下,服务器会在 http://localhost:3000 上运行。

4. 访问 API

你可以通过浏览器或工具(如 Postman)访问 API。例如:

  • 获取所有帖子: GET http://localhost:3000/posts
  • 获取单个帖子: GET http://localhost:3000/posts/1
  • 创建新帖子: POST http://localhost:3000/posts
  • 更新帖子: PUT http://localhost:3000/posts/1
  • 删除帖子: DELETE http://localhost:3000/posts/1

示例操作

获取所有帖子

curl http://localhost:3000/posts

创建新帖子

curl -X POST -H "Content-Type: application/json" -d '{"title": "New Post", "author": "flamingo-huohuo"}' http://localhost:3000/posts

更新帖子

curl -X PUT -H "Content-Type: application/json" -d '{"title": "Updated Post", "author": "flamingo-huohuo"}' http://localhost:3000/posts/1

删除帖子

curl -X DELETE http://localhost:3000/posts/1

总结

json-server 是一个非常方便的工具,适合快速搭建 REST API 进行前端开发和测试。它支持常见的 HTTP 方法,能够根据 JSON 文件自动生成 API 路径,并支持查询参数和中间件扩展。通过简单的安装和配置,你可以快速启动一个模拟的 RESTful API 服务器,极大地提高开发效率。