Improve your Git workflow, Husky v5 has been published and is faster/lighter than ever 🐺

JSONPlaceholder

Guide

Below you'll find examples using Fetch API but you can JSONPlaceholder with any other language.

You can copy paste the code in your browser console to quickly test JSONPlaceholder.

Getting a resource

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

👇 Output

{
  id: 1,
  title: '...',
  body: '...',
  userId: 1
}

Listing all resources

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

👇 Output

;[
  { id: 1, title: '...' /* ... */ },
  { id: 2, title: '...' /* ... */ },
  { id: 3, title: '...' /* ... */ },
  /* ... */
  { id: 100, title: '...' /* ... */ },
]

Creating a resource

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))

👇 Output

{
  id: 101,
  title: 'foo',
  body: 'bar',
  userId: 1
}

Important: resource will not be really updated on the server but it will be faked as if.

Updating a resource with PUT

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))

👇 Output

{
  id: 1,
  title: 'foo',
  body: 'bar',
  userId: 1
}

Important: resource will not be really updated on the server but it will be faked as if.

Updating a resource with PATCH

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

👇 Output

{
  id: 1,
  title: 'foo',
  body: '...',
  userId: 1
}

Important: resource will not be really updated on the server but it will be faked as if.

Deleting a resource

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

Important: resource will not be really updated on the server but it will be faked as if.

Filtering resources

Basic filtering is supported through query parameters.

// This will return all the posts that belong to the first user
fetch('https://jsonplaceholder.typicode.com/posts?userId=1')
  .then((response) => response.json())
  .then((json) => console.log(json))

Listing nested resources

One level of nested route is available.

// This is equivalent to /comments?postId=1
fetch('https://jsonplaceholder.typicode.com/posts/1/comments')
  .then((response) => response.json())
  .then((json) => console.log(json))

The available nested routes are: