JSONPlaceholder - 免费的在线REST服务

罗大富 BigRich大约 4 分钟前端

日常开发、测试、教学或者分享中,可能在使用需要请求数据的时候遇到一些困难:

  • 需要测试数据对处理逻辑进行测试;
  • 进行前端开发时后端接口尚未开发;
  • 教程或分享中不可以使用真实业务数据;
  • 在一些对数据格式和内容没有要求的场景,手动编写数据进行 mock 比较麻烦;

于是这就涉及到我们需要使用一些公开的且最好是免费的API来尽可能快速地满足我们这些需求场景。

JSONPlaceholder 是一个提供免费的在线 REST API 的网站,我们在开发时可以使用它提供的 url 地址测试下网络请求以及请求参数。或者当我们程序需要获取一些假数据、假图片时也可以使用它。

网站地址:http://jsonplaceholder.typicode.com/open in new window

其返回的数据为 JSON 格式,且同时支持 HTTP 和 HTTPS 这两种请求类型。

JSONPlaceholder 提供了 6 类常见的数据:

  • /posts: 100 posts
  • /comments: 500 comments
  • /albums: 100 albums
  • /photos: 5000 photos
  • /todos: 200 todos
  • /users: 10 users

同时提供的这些数据之间存在一些关联,比如 post 会有一些 comment,albums 会涉及 photos 等等。

接口支持所有的 HTTP 方法,遵循 Restful 风格,所以可以进行如下请求:

  • GET /posts
  • GET /posts/1
  • GET /posts/1/comments
  • GET /comments?postId=1
  • POST /posts
  • PUT /posts/1
  • PATCH /posts/1
  • DELETE /posts/1

更多使用案例可以参考官方文档open in new window

1,获取文章(贴子)数据

使用如下地址可以获取到文章列表假数据,共 100 条。每条内容都有帖子 ID、发贴人 ID、标题、以及内容:

http://jsonplaceholder.typicode.com/posts

提示

在网页中浏览 JSON 文件时,建议在浏览器中安装 FeHelper 插件。

根据传入的贴子 ID,可以得到具体某个贴子的数据,里面同样包含贴子 ID、发贴人 ID、标题、以及内容:

http://jsonplaceholder.typicode.com/posts/88

下面根据发贴人 ID 来查询他发的所有贴子,里面同样包含贴子 ID、发贴人 ID、标题、以及内容:

http://jsonplaceholder.typicode.com/posts?userId=8

2. 获取评论数据

下面获取所有文章的所有评论,共 500 条。每条内容都包含有贴子 ID、评论 ID、评论人姓名、评论人邮箱、评论内容:

http://jsonplaceholder.typicode.com/comments

下面根据帖子 ID 获取指定贴子的评论(有两种方式),里面包含贴子 ID、评论 ID、评论人姓名、评论人邮箱、评论内容:

http://jsonplaceholder.typicode.com/posts/6/comments
http://jsonplaceholder.typicode.com/comments?postId=6

3. 获取相册数据

下面获取所有相册数据,共 100 条。相册数据与贴子数据相比就是少了内容项(body):

http://jsonplaceholder.typicode.com/albums

根据 ID 获取指定相册数据:

http://jsonplaceholder.typicode.com/albums/8

根据用户 ID 获取该用户的所有相册数据:

http://jsonplaceholder.typicode.com/albums?userId=8

4. 获取待办事项(todo-list)数据

下面获取所有待办数据,共 200 条。待办数据特点是除了标题外,还有个布尔类型属性项(completed)表示任务是否完成:

http://jsonplaceholder.typicode.com/todos

根据 ID 获取指定待办数据:

http://jsonplaceholder.typicode.com/todos/6

根据用户 ID 获取该用户的所有待办数据:

http://jsonplaceholder.typicode.com/todos?userId=9

5. 获取用户数据

下面获取所有用户数据,共 10 条。数据包含姓名、电话、地址等各种用户信息。

http://jsonplaceholder.typicode.com/users

根据 ID 获取指定用户数据。

http://jsonplaceholder.typicode.com/users/5

6. 获取照片数据

下面获取所有相簿里的所有照片数据,共 5000 条。数据包含照片 ID、相簿 ID、标题、照片原图地址、照片缩略图地址:

http://jsonplaceholder.typicode.com/photos

根据 ID 获取指定照片数据:

http://jsonplaceholder.typicode.com/photos/8

根据相簿 ID 获取该相簿下所有的照片数据:

http://jsonplaceholder.typicode.com/photos?albumId=5
上次编辑于:
贡献者: 罗大富 BigRich