
resterm v1.5.6
Терминальный API-клиент для HTTP, GraphQL и gRPC. Обычные .http-файлы, которые можно сравнивать и версионировать, с поддержкой workflows, моков, профилирования, трассировки, импорта OpenAPI, SSH-туннелей, проброса портов Kubernetes, WebSocket, SSE и CLI-раннера.
Resterm
Рабочая среда API-as-code для терминала.
resterm.app · docs
Resterm — это API-клиент, который использует файлы .http/.rest в качестве исходного кода. Почти все возможности живут в файлах .http, поэтому их легко проверять в Git или любой другой системе контроля версий. Вы можете отправлять запросы, тестировать API-сценарии, записывать HTTP-трафик и запускать локальные mock-серверы прямо из TUI или запускать те же определения в скриптах и CI с помощью команды resterm run.
Почему Resterm
- Тестируйте полные API-сценарии. Войдите, получите токен, создайте ресурс и проверьте результат. Добавляйте утверждения, циклы, условия, повторные попытки и скрипты прямо в файлы запросов.
- Превращайте реальный трафик в локальные mock-серверы. Записывайте HTTP-запросы и ответы, затем сохраняйте их как исполняемые запросы или mock-определения. Держите mock-серверы рядом с запросами, которые их используют.
- Узнайте, что изменилось. Сравнивайте ответы между окружениями, делайте diff с предыдущими результатами, изучайте тайминги запросов и профилируйте повторные запуски.
- Запускайте одни и те же проверки локально и в CI. Используйте терминальный интерфейс во время разработки, а затем запускайте эти файлы с помощью
resterm run. Экспортируйте отчёты в JSON или JUnit. - Работайте с разными протоколами. Отправляйте HTTP-, GraphQL- и gRPC-запросы, работайте с потоками WebSocket и SSE.
Встроенные SSH-туннели и port-forward для Kubernetes позволяют добраться до API за бастионом или внутри кластера.
Без аккаунта, без телеметрии, без AI-функций.
Скриншоты
Трассировка и таймлайн
Нажмите, чтобы увидеть больше интерфейса
Рабочие процессы
Профайлер
Explain
RestermScript
Установка
macOS и Linux:
brew install resterm
# or
curl -fsSL https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash
Windows:
iwr -useb https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.ps1 | iex
С Go 1.25 или новее:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
Готовые бинарные файлы для macOS, Linux и Windows доступны на странице релизов. Бинарные файлы для Linux требуют glibc 2.32 или новее.
Чтобы обновить, выполните brew upgrade resterm, если вы устанавливали через Homebrew. В противном случае выполните resterm --update. Подробнее в руководстве по установке.
Быстрый старт
mkdir my-api && cd my-api
resterm init
resterm
resterm init создаёт файл requests.http с несколькими примерами запросов и локальными mock-серверами для ответов на них, так что вам не нужен реальный API, чтобы попробовать. Нажмите g Shift+M, чтобы запустить mock-сервер, переместите курсор на запрос и нажмите Ctrl+Enter, чтобы отправить его. Нажмите ? для справки в любой момент.
Вам также не нужен init. Запустите resterm, введите URL или вставьте команду curl и нажмите Ctrl+Enter.
Тот же файл также запускается без интерфейса. Запустите mock-серверы в одном терминале и выполните запрос в другом:
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
Файлы запросов
Resterm читает стандартный формат .http и добавляет директивы # @ поверх него для настроек и автоматизации:
# @setting base-url https://api.example.com/v1/
### Create users
// Send this request once for each name in the list.
# @for-each ["david", "tom"] as name
# @when env.mode == "development"
# @assert response.statusCode == 201
POST users
Content-Type: application/json
{"name":"{{= name }}"}
@setting перед первым запросом применяется ко всему файлу. ### начинает новый запрос. Директивы над запросом могут повторять его, пропускать или проверять ответ.
Больше примеров в _examples/, а все директивы перечислены в справочнике по файлам запросов.
Документация
Полная документация доступна на resterm.app/docs. Хорошие места для начала — рабочие процессы, mock-серверы, запись, CLI и RestermScript.
Внутри TUI :help <topic> открывает встроенное руководство, а :docs <topic> открывает ту же страницу на сайте.
Чтобы запускать файлы запросов из собственного кода на Go, см. пакет headless.
Спонсорство
Resterm был и всегда будет бесплатным и открытым. Если вам нравится моя работа, вы можете поддержать её на GitHub.