Fake REST API для тестирования (JSON)

REST API может понадобится:

  • При разработке нового проекта
  • При тестировнии нового программного инструмента
  • Когда хочеться пощупать очередной фреймворк
  • Просто нужны json данные

Всегда можно создать массив и читать его или обращаться к какому-нибудь API. Однако есть специальный инструмент, чтобы не искать «что-нибудь».

Fake Rest API (jsonplaceholder)

JSONPlaceholder — Live running version. Можно сделать свой Fake Server, проект доступен на github

Ресурсы

Маршрут
/posts 100 items
/comments 500 items
/albums 100 items
/photos 5000 items
/todos 200 items
/users 10 items

Маршруты

HTTP метод Маршрут
GET /posts
GET /posts/1
GET /posts/1/comments
GET /comments?postId=1
GET /posts?userId=1
POST /posts
PUT /posts/1
PATCH /posts/1
DELETE /posts/1

Например http://jsonplaceholder.typicode.com/posts вернёт

[
  {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    "userId": 1,
    "id": 2,
    "title": "qui est esse",
    "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
  },
  {
    "userId": 1,
    "id": 3,
    "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
    "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
  },
  ...

Видео от Traversy Media по работе Fake Server

Альтернативный сервис

http://reqres.in

Запрос

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://reqres.in/api/products/3", true);
xhr.onload = function(){
    console.log(xhr.responseText);
};
xhr.send();

Ответ

{
    "data":{
        "id":3,
        "name":"true red",
        "year":2002,
        "pantone_value":"19-1664"
    }
}