Перейти к содержимому

Создать мок REST API

Создайте фейковые JSON-эндпоинты со своим методом, путём, статусом, задержкой и телом ответа или сгенерированными тестовыми данными. Они работают с CORS на нашем сервере: удобно для прототипов и тестов.

Параметр задаётся как :name, например /users/:id

Тело ответа
Задержка0 ms

Строки вроде "{{fullName}}" или "{{int(1, 100)}}" заменяются при каждом запросе.

элементов

0 — вернуть один объект

Плейсхолдеры (36)
{{id}}
1, 2, 3… позиция в списке
{{index}}
0, 1, 2… позиция, начиная с нуля
{{uuid}}
Случайный UUID v4
{{firstName}}
Имя
{{lastName}}
Фамилия
{{fullName}}
Имя и фамилия
{{username}}
Логин в нижнем регистре
{{email}}
Адрес на example.com
{{phone}}
Номер телефона (+1 555…)
{{company}}
Название компании
{{jobTitle}}
Должность
{{street}}
Адрес (улица)
{{city}}
Город
{{country}}
Страна
{{countryCode}}
Код ISO 3166
{{zip}}
5-значный почтовый индекс
{{domain}}
домен example
{{url}}
URL с https
{{ipv4}}
IPv4 из диапазона для документации
{{color}}
Цвет HEX
{{word}}
Одно слово lorem
{{words}}
words(n): n слов lorem
{{sentence}}
Предложение lorem
{{paragraph}}
От трёх до пяти предложений
{{int}}
int(min, max): целое число
{{float}}
float(min, max, decimals)
{{price}}
price(min, max): два знака после запятой
{{bool}}
true или false
{{date}}
Дата за последний год (ГГГГ-ММ-ДД)
{{datetime}}
Дата и время ISO за последний год
{{futureDate}}
Дата в течение следующего года
{{status}}
active, pending или inactive
{{pick}}
pick(a, b, c): один из вариантов
{{param}}
param(name): значение из пути URL, например :id
{{query}}
query(name): значение из строки запроса
{{null}}
JSON null
Заголовки ответа (необязательно, только X-)
Эндпоинтов: 3 из 10 · ответы JSON с включённым CORS
Обрабатывается на нашем сервере · JSON эндпоинта хранится, пока вы его не удалите или пока 7 дней не будет ни одного запросаКак это работает

Как пользоваться: Мок REST API

  1. 1

    Опишите каждый эндпоинт

    Выберите метод, введите путь, например /users/:id, укажите код статуса и при необходимости задержку, чтобы имитировать медленную сеть.

  2. 2

    Напишите ответ

    Вставьте фиксированный JSON или переключитесь на «Фейковые данные» и напишите шаблон с плейсхолдерами вроде {{fullName}} и размером списка.

  3. 3

    Создайте мок-API

    Нажмите «Создать мок-API», чтобы получить базовый URL: каждый эндпоинт отвечает по этому адресу плюс его путь, CORS включён.

  4. 4

    Вызывайте и дорабатывайте

    Нажмите «Проверить» или используйте curl и fetch в своём приложении, затем измените и сохраните — правки применяются сразу — или удалите мок, когда он станет не нужен.

Лимиты и Pro

Бесплатно: 10 эндпоинтов на один мок-API, 100 KB на тело и 512 KB всего, задержка до 5 секунд, списки до 100 элементов, 120 запросов в минуту на посетителя, 10 новых мок-API в час, удаление через 7 дней без запросов.

В Pro лимиты выше: 50 эндпоинтов, тела до 1 MB, задержка до 30 секунд и списки до 1 000 элементов. Смотреть Pro

О инструменте «Мок REST API»

Мок-API для REST даёт фронтенд- и мобильным разработчикам рабочие эндпоинты ещё до появления настоящего бэкенда. У каждого мок-API свой базовый URL в разделе /api/mock-api/m/, и каждый заданный вами эндпоинт отвечает там с выбранными методом, путём, кодом статуса, задержкой, заголовками и телом JSON. В путях можно использовать параметры: /users/:id подходит для /users/7, а шаблон может вернуть это значение через {{param(id)}} или прочитать строку запроса через {{query(name)}}.

Режим фейковых данных превращает шаблон JSON в правдоподобные ответы с помощью 36 плейсхолдеров: от имён, адресов электронной почты, компаний и городов до UUID, дат, цен, чисел из диапазона и текста lorem. Задайте размер списка, чтобы получать массив до 100 элементов, и решите, будут ли данные одинаковыми от запроса к запросу (это удобно для снапшот-тестов) или станут меняться каждый раз. Коды статуса от 200 до 599 позволяют отработать ошибки вроде 401, 404, 429 и 503, а задержка до пяти секунд покажет, как ведут себя состояния загрузки.

Ответы всегда приходят в формате JSON с заголовками CORS, поэтому их можно вызывать из браузера с любого источника. Мок-API не умеет отдавать HTML, устанавливать cookie и делать редиректы, не сохраняет получаемые запросы и не заменяет базу данных: POST и PUT отвечают заданным вами телом и ничего из отправленного не запоминают.

Конфиденциальность

Чтобы размещать ваши эндпоинты, сохраняемые вами описания — методы, пути, коды статуса, задержки, заголовки и тела ответов — передаются на наш сервер и хранятся там вместе с хешем токена редактирования, временем создания и последнего запроса и счётчиком запросов. Запросы к вашим эндпоинтам обрабатываются без записи их тел, заголовков и IP-адресов. Мок-API удаляется, когда вы его удаляете или через 7 дней без запросов и правок, а токен редактирования хранится только в этом браузере. Любой, у кого есть URL, может вызывать ваши эндпоинты, поэтому не помещайте в них секреты и реальные личные данные.

Возможности

Настоящие эндпоинты HTTPS

Любой метод, параметры пути, коды статуса от 200 до 599, задержки и собственные заголовки X-.

Шаблоны фейковых данных

Более 30 плейсхолдеров для людей, компаний, мест, дат, чисел и текста: один объект или список.

Безопасно по замыслу

Только JSON, CORS включён, журналов запросов нет, токен редактирования хешируется, удаление через 7 дней без использования.

Мок REST API: частые вопросы

Что хранится на вашем сервере и как долго?
Мы храним сохранённые вами описания эндпоинтов, хеш SHA-256 токена редактирования, время создания и последнего вызова мок-API и число полученных запросов. Тела запросов, заголовки и IP-адреса мы не записываем. Мок-API удаляется, когда вы нажимаете «Удалить», или автоматически, если за 7 дней не было ни запросов, ни правок, так что используемый вами API остаётся доступным.
Можно ли вызывать мок-API из фронтенд-приложения?
Да. В каждом ответе заголовок Access-Control-Allow-Origin равен *, а предварительные запросы OPTIONS обрабатываются, поэтому вызвать API могут fetch, axios и любой другой HTTP-клиент в браузере на любом домене, включая localhost. Берите базовый URL и добавляйте путь эндпоинта, например fetch(base + "/users"). Мобильные приложения, Postman и curl тоже подойдут: эндпоинты — обычные адреса HTTPS.
Как работают плейсхолдеры фейковых данных?
В режиме «Фейковые данные» любая строка шаблона JSON, являющаяся плейсхолдером, например "{{email}}" или "{{int(1, 100)}}", заменяется при поступлении запроса, а числовые плейсхолдеры и плейсхолдеры true или false, занимающие всю строку, становятся настоящими числами и булевыми значениями JSON. Плейсхолдеры можно вставлять и в текст, например "Hello {{firstName}}". Задайте размер списка, чтобы повторить шаблон: {{id}} нумерует элементы 1, 2, 3.
Может ли мок возвращать ошибки или отвечать медленно?
Да. Выберите любой статус от 200 до 599, например 401 Unauthorized, 404 Not Found, 422 для ошибок валидации, 429 Too Many Requests или 503, и напишите JSON ошибки, который ждёт ваше приложение. Ползунок задержки удерживает каждый ответ до 5 секунд на бесплатном тарифе, что помогает проверять индикаторы загрузки, тайм-ауты и повторные попытки. Ответы со статусом 204 и 304 отправляются без тела.
Почему мок-API не может вернуть HTML или установить cookie?
Бесплатные размещённые эндпоинты, отдающие любой контент, любят использовать для фишинговых страниц и ссылок на вредоносные программы. Чтобы эти моки годились только как API, каждый ответ имеет тип application/json с nosniff и строгой политикой безопасности контента, а разрешены лишь собственные заголовки, начинающиеся с X-. Поэтому моки не могут устанавливать cookie, перенаправлять браузеры или притворяться веб-страницей.