API-клиент

Клиент для REST API, который хранит запросы в git

Составляйте и отправляйте HTTP-запросы, собирайте их в коллекции и делитесь ими через репозиторий. Каждый запрос — обычный файл, а время ответа разложено по фазам.

Раздел запросов Microkoi: дерево коллекций, редактор запроса с переменными окружения и ответ с полосой фаз времени.

От перехваченного обмена до коллекции

  1. 1

    Возьмите из трафика

    Кнопка «В запросы» открывает перехваченный обмен в клиенте — без служебных заголовков прокси.

  2. 2

    Поменяйте и отправьте

    Правьте параметры, тело и авторизацию. ⌘↩ отправляет запрос, повторное нажатие отменяет.

  3. 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.

Попробуйте на своём проекте

Бета-версия бесплатна и не требует регистрации. Скачайте, выберите папку проекта и запустите прокси — через пару минут в списке появятся первые запросы.

Версия 0.9.0 · macOS, Windows и Linux · без регистрации