Jsonserver中文网

json-server 可用于快速mock一个 REST API 服务器,让开发者能够专注于前端开发,同时轻松模拟后端 API,提高了开发效率和测试的准确性。

json-server 使用场景及特点

在项目开发初期,后端接口和数据往往尚未完善,前端开发者通常需要依赖模拟数据来推进工作。如果你希望建立一个更灵活的本地服务器来模拟各种请求操作,而不是仅仅依赖静态数据,那么json-server将是你的理想选择。json-server 可以根据请求的特定路径后缀来返回不同的模拟数据,从而为你的前端开发提供更加逼真的测试环境,以便在开发过程中与客户共享模式或支持端到端测试,无需编写后端代码。

快速部署

json-server 允许开发者在几秒钟内搭建一个 REST API 服务器

支持 CRUD 操作

可以对数据执行创建、读取、更新和删除操作,模拟完整的数据交互

无需编码

通过静态 JSON 文件模拟 API 响应,无需编写后端代码

HTTP 请求处理

支持所有标准的 HTTP 请求方法(GET, POST, PUT, DELETE 等)

自定义路由

开发者可以根据需求创建自定义路由,处理复杂场景

与 HTTPie 集成

使用 HTTPie JSON 客户端轻松与 json-server 交互

静态 JSON 数据库

json-server 使用静态 JSON 文件作为数据库,方便管理和模拟数据

模拟错误

可以模拟各种 API 错误,帮助开发者测试错误处理逻辑

速率限制模拟

对于依赖于速率限制的 API,可以模拟响应,进行无限次数的调用

示例

以下为您展示一些简单的使用 Fetch API 的示例, 您可以将代码复制粘贴到浏览器控制台中,快速测试 JSONPlaceholder。如果要查看更多的示例,请点击    技术文档

请求一篇文章内容

fetch('https://jsonplaceholder.typicode.com/posts/1')
      .then(response => response.json())
      .then(json => console.log(json))

请求所有文章内容

fetch('https://jsonplaceholder.typicode.com/posts')
      .then(response => response.json())
      .then(json => console.log(json))

请求文章评论

fetch('https://jsonplaceholder.typicode.com/posts/1/comments')
      .then(response => response.json())
      .then(json => console.log(json))

创建一篇文章

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  body: JSON.stringify({
    title: 'foo',
    body: 'bar',
    userId: 1,
  }),
  headers: {
    'Content-type': 'application/json; charset=UTF-8',
  },
})
  .then((response) => response.json())
  .then((json) => console.log(json));

更新一篇文章

fetch('https://jsonplaceholder.typicode.com/posts/1', {
  method: 'PUT',
  body: JSON.stringify({
    id: 1,
    title: 'foo',
    body: 'bar',
    userId: 1,
  }),
  headers: {
    'Content-type': 'application/json; charset=UTF-8',
  },
})
  .then((response) => response.json())
  .then((json) => console.log(json));

删除一篇文章

fetch('https://jsonplaceholder.typicode.com/posts/1', {
  method: 'DELETE',
});

过滤文章

各种查询参数支持基本的过滤功能。

// 这里会返回属于第一个用户的所有文章
fetch('https://jsonplaceholder.typicode.com/posts?userId=1')
  .then((response) => response.json())
  .then((json) => console.log(json));

列出嵌套资源

可以访问一级嵌套的路由。

// 等价于访问 /comments?postId=1
fetch('https://jsonplaceholder.typicode.com/posts/1/comments')
  .then((response) => response.json())
  .then((json) => console.log(json));

被众多用户喜爱

拥有数百万次下载,Jsonserver是一个MIT许可的开源项目,被全球数千家公司使用。