API Mock Studio: тестовый API
Рабочий тестовый API для разработки фронтенда и интеграционных проверок до готовности backend. Импортируйте OpenAPI или опишите endpoints, настройте ответы, задержки и ошибки, проверьте контракт и выгрузите mock-сервер.
Бесплатно, без регистрации
Проект и схемы
Одинаковый seed — одинаковые тестовые данные, задержки и ошибки.
Источники по строке: http://localhost:3000. * — любой. Пусто — без заголовков CORS.
Именованные схемы для $ref: {"User": {"type": "object", …}}.
Endpoints
Как работает инструмент
Endpoints
Импорт OpenAPI 3.0/3.1 в JSON или YAML либо ручное описание: метод, шаблон пути /users/{id}, query-параметры, схема тела запроса и ответы по статусам — JSON-шаблон с подстановками или данные, сгенерированные по схеме.
Тестовые данные
Генератор детерминирован: один seed — одни и те же данные. Учитываются type и format (email, uuid, date-time, date, uri, ipv4), enum, границы и длины, простые pattern, массивы, вложенные объекты, oneOf/anyOf/allOf, nullable; example и examples важнее генерации. Имена свойств подсказывают правдоподобные значения: name, email, phone, city, price, createdAt, avatar.
Консоль и журнал
Запрос обрабатывается в браузере: маршрут, задержка, внедрённая ошибка, проверка тела и параметров, подстановки и пагинация. В журнале — время, метод, путь, endpoint, статус, длительность, тела и нарушения контракта, с фильтрами.
Контракт и экспорт
Каждый ответ сверяется со своей схемой, а реальный ответ backend можно вставить и проверить. Выгрузка: mock-server.mjs без зависимостей, обработчики MSW v2, OpenAPI 3.1, Markdown-сводка и JSON проекта.
Правила поведения
Консоль в браузере и выгруженный mock-server.mjs следуют одной таблице. Обработчики MSW повторяют поведение ответов; проверка запроса по схеме выполняется в консоли и в mock-server.mjs.
AMS-B01
- Правило
- Маршрут: шаблон совпадает посегментно; из подходящих выигрывает более конкретный — статический сегмент важнее параметра, слева направо (/products/featured раньше /products/{id}).
AMS-B02
- Правило
- Путь найден, метода нет → 405 с заголовком Allow; путь не найден → 404 со списком маршрутов.
AMS-B03
- Правило
- Номер запроса n к endpoint (с нуля) и seed проекта дают детерминированные числа: один и тот же порядок запросов повторяет те же задержки и ошибки.
AMS-B04
- Правило
- Внедрённая ошибка: rand(seed, endpoint|err, n) × 100 < доля ошибок → статус ошибки и заголовок X-Mock-Injected-Error.
AMS-B05
- Правило
- Задержка: фиксированная или min + ⌊rand(seed, endpoint|delay, n) × (max − min + 1)⌋ мс.
AMS-B06
- Правило
- Запрос проверяется по схеме тела и описанию query-параметров; в режиме «отклонять» нарушение даёт 422 со списком.
AMS-B07
- Правило
- Подстановки в шаблоне: {{params.id}}, {{query.page}}, {{body.email}}, {{now}}, {{seq}}; строка целиком из подстановки сохраняет тип значения, :number приводит к числу.
AMS-B08
- Правило
- Эхо параметров: значения параметров пути записываются в одноимённые поля объекта-ответа (числом, если поле числовое).
AMS-B09
- Правило
- Пагинация: массив режется по ?page= (с 1) и ?limit= (1–100, по умолчанию 10), общее число — в X-Total-Count.
AMS-B10
- Правило
- Заголовок X-Mock-Status: 404 отдаёт ответ этого статуса для одного запроса — удобно для проверки экранов ошибок.
Проверки проекта
Таблица строится из того же кода, что и проверки в инструменте.
AMS-E01
- Уровень
- ошибка
- Проверка
- Неверный шаблон пути
- Что сделать
- Путь начинается с /, параметр — целый сегмент вида {id}, имена не повторяются.
AMS-E02
- Уровень
- ошибка
- Проверка
- Два endpoint с одним методом и путём
- Что сделать
- Оставьте один: второй никогда не получит запрос (имена параметров не различают пути).
AMS-E03
- Уровень
- ошибка
- Проверка
- Тело ответа — не JSON
- Что сделать
- Исправьте JSON шаблона — до этого endpoint отвечает 500 mock_template_invalid.
AMS-E04
- Уровень
- ошибка
- Проверка
- Схема — не JSON
- Что сделать
- Схема записывается JSON-объектом: {"type": "object", …}.
AMS-E05
- Уровень
- предупреждение
- Проверка
- Для активного статуса нет описанного ответа
- Что сделать
- Будет отдано тело по умолчанию {error, message}. Добавьте ответ или выберите другой статус.
AMS-E06
- Уровень
- предупреждение
- Проверка
- Ответ не соответствует своей схеме
- Что сделать
- Исправьте пример или схему: фронтенд будет разрабатываться против неверного контракта.
AMS-E07
- Уровень
- предупреждение
- Проверка
- Ссылка $ref никуда не ведёт
- Что сделать
- Добавьте схему в components.schemas или исправьте имя.
AMS-E08
- Уровень
- совет
- Проверка
- Схема тела у GET/DELETE не используется
- Что сделать
- Тело проверяется только у POST, PUT и PATCH.
AMS-E09
- Уровень
- предупреждение
- Проверка
- У ответа 204/304 задано тело
- Что сделать
- По HTTP такие ответы без тела — текст будет проигнорирован.
Ограничения
- YAML разбирается встроенным парсером распространённого подмножества: якоря (&, *), теги (!), сложные ключи и несколько документов не поддерживаются — сохраните спецификацию как JSON.
- Внешние $ref (другие файлы и URL) не загружаются; ответы бывают только JSON, методы — GET, POST, PUT, PATCH, DELETE.
- Проверка схем — подмножество JSON Schema: type, required, properties, additionalProperties, items, enum, const, format (email, uuid, date-time, date, uri, ipv4), границы, длины, pattern, allOf/anyOf/oneOf. Ключевые слова за его пределами не проверяются.
- Генератор подбирает правдоподобные, но вымышленные значения; сложные регулярные выражения не воспроизводятся — пример останется без совпадения с pattern, и проверка это покажет.
- mock-server.mjs — тестовый сервер для разработки, а не production: без авторизации, лимитов и хранения данных между перезапусками.
Приватность
- Спецификации, тела запросов и ответов обрабатываются в вашем браузере; консоль не обращается к сети, адрес страницы не меняется.
- Проект и версии хранятся только в этом браузере (localStorage); журнал запросов — только в памяти вкладки. «Очистить всё» удаляет данные.
- В аналитику уходит только факт отправки запроса, проверки или экспорта и категория (класс статуса, формат файла) — без путей, тел и схем.
- Результат уходит к нам, только если вы сами оставите заявку и не снимете галочку «Приложить результат» — что именно уйдёт, видно в форме: число endpoints, список «метод · путь · статусы» и нарушения контракта. Тела ответов, схемы и заголовки в заявку не попадают.
Похожие инструменты
Все инструменты · 40
Готовность к релизуМатрица проверок с доказательствами: CI, миграции, резервные копии, план отката, мониторинг, исключения из рисков и согласование → решение GO / NO-GO.
Screenshot → Bug: баг-репорт по скриншотуСкриншот или видео → скрытие приватных данных, разметка проблемы, шаги воспроизведения, проверка человеком и экспорт в GitHub, GitLab или Jira.
User Flow Tester: сценарные E2E-тестыКонструктор пользовательских сценариев → готовые тесты Playwright с защитой от запуска на production, покрытие важных маршрутов и разбор результатов pass/fail.
Проверка согласованности интерфейсаDesign tokens против CSS: цвета и размеры вне системы, контраст по WCAG, сравнение скриншота с утверждённым baseline и разбор найденного.
Проверка спроса до разработкиГипотезы с порогами, лендинг и форма заявки, UTM-ссылки, воронка, интервью и отчёт эксперимента → решение продолжать, менять или закрывать идею.
Конструктор коммерческого предложенияШаблоны КП для IT-проектов: состав, этапы, смета, сроки, допущения и исключения, версии с контролем цифр, согласование и PDF.Нужен backend, который совпадёт с контрактом?
Спроектируем API, согласуем контракт с фронтендом и разработаем серверную часть с тестами. Объём и стоимость — после брифа.
- Первый короткий разговор бесплатный — выбираем формат работы
- NDA — по вашему или нашему шаблону
- Стоимость — после брифа и согласования объёма