Клиент для REST API, который хранит запросы в git
Составляйте и отправляйте HTTP-запросы, собирайте их в коллекции и делитесь ими через репозиторий. Каждый запрос — обычный файл, а время ответа разложено по фазам.
От перехваченного обмена до коллекции
- 1
Возьмите из трафика
Кнопка «В запросы» открывает перехваченный обмен в клиенте — без служебных заголовков прокси.
- 2
Поменяйте и отправьте
Правьте параметры, тело и авторизацию. ⌘↩ отправляет запрос, повторное нажатие отменяет.
- 3
Сохраните в коллекцию
⌘S сохраняет запрос файлом в папке коллекции — его можно закоммитить вместе с кодом.
Всё для запроса под рукой
Параметры, заголовки, тело, авторизация и переменные — в одном редакторе с вкладками.
Любое тело
JSON с проверкой на лету, текст, XML, формы x-www-form-urlencoded и multipart/form-data.
Авторизация
Bearer-токен, логин и пароль Basic или ключ API в заголовке либо в параметре адреса.
Переменные окружений
Запись {{name}} подставляется в адрес, параметры, заголовки, тело и авторизацию.
Фазы времени
Поиск узла, соединение, TLS, ожидание первого байта и загрузка — полосой над ответом.
Коллекции-папки
Папки коллекций — обычные каталоги, запросы — файлы .request.json с понятными именами.
История отправок
Каждая отправка сохраняется, а щелчок по записи открывает её копию в новой вкладке.
Импорт и копирование cURL
Вставьте команду cURL прямо в строку адреса — получится запрос. «Копировать cURL» отдаёт команду обратно, с подставленными переменными.
Из запроса — в мониторинг
Кнопка «В мониторинг» ставит запрос или целую папку коллекции на регулярную проверку.
Ссылки из заметок
На сохранённый запрос можно сослаться из заметки — ссылка откроет его в клиенте и переживёт переименование.
Подробно
Коллекции, которые живут в репозитории
Всё, что набрал человек, хранится в файлах, а всё, что произошло при отправке, — в базе. Поэтому коллекции можно держать рядом с кодом, проводить через ревью и получать изменения коллег обычным git pull.
- Один запрос — один файл .request.json, имя файла повторяет имя запроса
- Переименование и перенос в другую папку не ломают открытые вкладки
- Запись атомарна: оборванное сохранение не оставит полупустой файл
- Файлы, добавленные вручную или пришедшие из git, подхватываются сразу
Окружения и переменные
Окружение — именованный набор переменных. Активное окружение выбирается на полосе вкладок и запоминается для каждого пространства отдельно, причём этот выбор не попадает в git — у каждого участника команды свой.
- Переменные могут ссылаться друг на друга до пяти уровней вложенности
- Встроенные {{$timestamp}}, {{$isoTimestamp}}, {{$uuid}} и {{$randomInt}} вычисляются при каждой отправке
- Не найденная переменная не блокирует отправку, а попадает в предупреждение над ответом
- Флаг «секрет» скрывает значение в интерфейсе — редактор прямо предупреждает, что на диске оно не шифруется
Отправка без ограничений браузера
Запрос выполняет ядро приложения, а не веб-движок интерфейса. Поэтому нет ограничений на заголовки и междоменные запросы, а время измеряется честно — от поиска узла до последнего байта.
- Адрес можно писать без схемы: внешние узлы уйдут по HTTPS, localhost — по HTTP
- Тайм-аут, следование перенаправлениям и проверка сертификата настраиваются для каждого запроса
- Ответ до 50 МБ сохраняется целиком: крупный — файлом рядом с базой, и «Сохранить» записывает его полностью
- Отключить проверку сертификата можно только для конкретного запроса и только с предупреждением
Из трафика — одной кнопкой
Не нужно копировать заголовки из одного окна в другое. Перехваченный обмен открывается в клиенте целиком, а ветка дерева узлов сохраняется коллекцией: папка с именем узла, внутри — папки по сегментам пути и по запросу на каждое сочетание пути и метода.
- Служебные заголовки прокси при переносе отбрасываются
- Отправленные запросы видны только в истории клиента и не смешиваются с перехваченным трафиком
Команды cURL в обе стороны
Команду из инструментов разработчика браузера, документации или терминала можно вставить прямо в строку адреса или открыть кнопкой «Импорт cURL» новой вкладкой. Обратно «Копировать cURL» собирает команду тем же кодом, что и отправку, поэтому она совпадает с тем, что ушло бы в сеть.
- Понимает метод, заголовки, тело, формы, авторизацию, --json, -k, -L и другие распространённые параметры
- О том, что потерялось бы молча, — например, о файлах в теле, — предупреждает полоса над редактором
- В скопированную команду попадают подставленные переменные активного окружения и авторизация
- Перехваченный запрос копируется командой прямо из панели обмена на экране трафика
Вопросы и ответы
Можно ли хранить коллекции запросов в git?
Да. Каждая коллекция — обычная папка, каждый запрос — отдельный файл .request.json. Изменения видны в истории коммитов и проходят ревью так же, как код.
Где хранятся секреты окружений?
Окружение — это файл рабочего пространства. Флаг «секрет» скрывает значение в интерфейсе, но не шифрует его на диске, и при коммите оно попадёт в репозиторий. Редактор окружений прямо об этом предупреждает.
Как повторить запрос, который отправило моё приложение?
Выберите обмен на экране трафика и нажмите «В запросы». Запрос откроется в новой вкладке клиента со всеми заголовками и телом — его можно изменить и отправить снова.
Как превратить команду cURL в запрос?
Вставьте команду в строку адреса — открытая вкладка заполнится методом, адресом, заголовками и телом. Или нажмите «Импорт cURL», чтобы открыть результат новой вкладкой. Поддерживается синтаксис POSIX-оболочки, синтаксис командной строки Windows — нет.
Работают ли запросы к localhost?
Да. Если не указать схему, запросы к localhost, 127.0.0.1 и ::1 уходят по HTTP, потому что локальные серверы разработки почти никогда не поднимают TLS.