← Ко всем open source проектам

JSON Server

typicode/json-server

JSON Server — инструмент для быстрого тестового REST API из обычного JSON-файла, удобный для прототипов и тестов интерфейса.

Форки 7,268
Автор typicode
Язык JavaScript
Лицензия MIT
Обновлено 2026-06-11

Что это такое

JSON Server — маленький, но очень практичный инструмент для прототипов. Он берет JSON-файл и поднимает поверх него REST-подобный API, чтобы клиентская часть могла делать запросы к `/posts`, `/users` или любым другим ресурсам, не дожидаясь готовой серверной части.

Репозиторий typicode/json-server существует на GitHub с 2013 года. Основной язык — JavaScript, лицензия MIT. В темах проекта указаны api, fake, json, mock, rest и test. Это точно описывает назначение: временный API для разработки, демонстраций и тестов.

Что внутри

Проект содержит сервер, маршрутизацию поверх JSON-структуры, поддержку параметров запроса, сортировки, пагинации, сценариев со связанными данными, статических файлов и заметки по миграции между версиями. Самая сильная идея — данные остаются обычным файлом, который легко прочитать, изменить и закоммитить.

Минимальный db.json

Пример показывает, почему JSON Server так быстро запускается: ресурсы описываются как массивы в JSON, а инструмент сам превращает их в маршруты для чтения и простых изменений.

Язык: JSON
{
  "posts": [
    { "id": 1, "title": "First post", "published": true },
    { "id": 2, "title": "Draft", "published": false }
  ],
  "users": [
    { "id": 1, "name": "Ada" }
  ]
}

Где он полезен

JSON Server хорош для интерфейсных прототипов, учебных проектов, Storybook-демо, автотестов, проверки пагинации и ситуаций, когда серверная команда еще не готова, а интерфейс уже нужно верстать и связывать с данными.

Он также полезен для обсуждения контракта API. Вместо абстрактного “потом будет маршрут” команда может положить пример JSON, поднять сервер и сразу увидеть, какие поля удобны, где не хватает связей и как интерфейс реагирует на пустые состояния.

Сильные стороны и ограничения

Сильная сторона — скорость. Для многих прототипов не нужен полноценный сервер, база данных и миграции: достаточно файла и команды запуска. Это резко сокращает путь от идеи до кликабельного интерфейса.

Ограничение в том, что JSON Server не заменяет настоящую серверную часть. Он не моделирует сложную авторизацию, бизнес-правила, транзакции, очереди, права доступа и производительность. Его лучше использовать как временную опору: быстро договориться о данных и потом заменить настоящим API.