Decoy
Decoy: macOS приложение для создания локальных mock-серверов. Тестируйте API и вебхуки без сложной настройки.
Что такое Decoy?
Что такое Decoy?
Decoy — это мощное и интуитивно понятное нативное приложение для macOS, разработанное для разработчиков, которым нужно с легкостью создавать и управлять локальными mock-серверами. Оно упрощает процесс симуляции API-эндпоинтов, тестирования интеграций вебхуков и отладки сетевого кода, предоставляя простую среду, не требующую настройки. В отличие от традиционных методов, часто включающих сложную конфигурацию, Docker-контейнеры или облачные сервисы туннелирования, Decoy предлагает мгновенный запуск прямо на вашем Mac.
Созданное с использованием современных технологий macOS, таких как SwiftUI и Network.framework, Decoy оптимизировано для производительности и эффективности использования ресурсов. Оно запускается мгновенно, потребляет минимум памяти и позволяет изменять mock-ответы в реальном времени, обеспечивая бесперебойный рабочий процесс разработки. Независимо от того, создаете ли вы новое приложение, интегрируетесь со сторонними сервисами или тестируете крайние случаи, такие как сетевые сбои и тайм-ауты, Decoy предоставляет гибкость и контроль, необходимые для ускорения цикла разработки.
Ключевые возможности
- Простое создание mock-сервера: Определяйте эндпоинты с пользовательскими методами, путями и группируйте их по проектам для лучшей организации.
- Мониторинг запросов в реальном времени: Просматривайте все входящие запросы с подробной информацией, включая заголовки, тело, IP-адрес источника и временные метки. JSON-пейлоады автоматически форматируются для удобочитаемости.
- Гибкое мокирование ответов: Настраивайте ответы с любым HTTP-статус-кодом, выбирайте из 7 различных типов тел (обычный текст, JSON, HTML, XML, файл, пустое, перенаправление), устанавливайте пользовательские заголовки и симулируйте задержку.
- Параметризованные пути: Поддержка динамических путей, таких как
/users/:id, для соответствия различным параметрам запроса. - Несколько типов тел ответов: Легко отдавайте JSON, HTML, XML, обычный текст, файлы (изображения, PDF), пустые ответы или выполняйте перенаправления.
- Мгновенные изменения: Модификации эндпоинтов или ответов вступают в силу немедленно при следующем входящем запросе.
- Экспорт запросов: Копируйте детали запроса как cURL, JavaScript
fetchили Ruby сниппеты кода для легкой отладки и обмена. - Автоматическая обработка CORS: CORS-заголовки добавляются автоматически, обеспечивая бесперебойную работу браузерных запросов.
- Файловые ответы: Отдавайте статические файлы напрямую в качестве ответов.
- Нативный опыт macOS: Создано с использованием SwiftUI для быстрого, отзывчивого и эффективного по памяти приложения. Не требуется Docker, облачные туннели или сложные конфигурационные файлы.
- Группировка проектов: Организуйте эндпоинты под пользовательскими поддоменами (например,
api.decoy.my). - Снимки ответов: Просматривайте точные ответы, которые были отправлены для каждого запроса.
- Пользовательские домены: Используйте стандартные домены, такие как
decoy.myилиlvh.me, или настройте свои собственные. - Детальный осмотр запросов: Изучайте заголовки, тело (с hex-дампом для бинарных данных), IP-адрес источника, временные метки и уникальный UUID для каждого запроса.
- Поддержка перенаправлений: Легко настраивайте перенаправления 301, 302, 307 и 308 с автоматической обработкой заголовка
Location. - Постоянное хранение: Запросы сохраняются в базе данных SQLite, гарантируя отсутствие потери данных, даже если приложение неожиданно закроется.
Как использовать Decoy
Начать работу с Decoy очень просто:
- Установите Decoy: Загрузите и установите Decoy из Mac App Store.
- Создайте проект: Запустите Decoy и создайте новый проект. Вы можете назначить пользовательский поддомен (например,
myapi) или использовать стандартный доменdecoy.my. - Определите эндпоинты: Добавьте новые эндпоинты в ваш проект. Укажите HTTP-метод (GET, POST, PUT, DELETE и т. д.) и путь (например,
/users,/products/:id). - Настройте ответы: Для каждого эндпоинта определите желаемый ответ. Выберите код состояния, выберите тип тела (JSON, текст, файл и т. д.), добавьте необходимые заголовки и при необходимости установите задержку для имитации сетевой задержки.
- Направьте ваше приложение: Настройте ваше приложение, скрипт или сервис для отправки запросов на адрес, предоставленный Decoy (например,
http://myapi.decoy.my:8998). - Мониторинг и отладка: По мере поступления запросов Decoy будет отображать их в реальном времени. Вы можете просмотреть все детали входящего запроса и проверить отправленный ответ.
- Итерация: Вносите изменения в конфигурации эндпоинтов или ответы на лету. Decoy применяет эти изменения мгновенно, что позволяет быстро итерировать и отлаживать.
Сценарии использования
- Разработка и тестирование API: Симулируйте ответы бэкенд-API во время разработки фронтенда, позволяя командам работать параллельно, не дожидаясь завершения бэкенда. Тестируйте различные сценарии ответов, включая коды ошибок и крайние случаи.
- Тестирование интеграции вебхуков: Легко тестируйте, как ваше приложение обрабатывает входящие вебхуки от сторонних сервисов, таких как Stripe, GitHub или Slack, настроив Decoy для приема и анализа этих пейлоадов локально.
- Разработка мобильных приложений: Мокируйте сетевые запросы для мобильных приложений, чтобы тестировать поведение UI, сценарии офлайн-работы и обработку ошибок без зависимости от живого бэкенда.
- Тестирование устойчивости сети: Симулируйте медленные сетевые условия или тайм-ауты, вводя задержки в ответы Decoy, что помогает создавать более надежные приложения, которые корректно обрабатывают задержки.
- Разработка скрейперов и ботов: Тестируйте скрейперы или боты, которые взаимодействуют с веб-сервисами, предоставляя предсказуемые ответы от локального mock-сервера.
FAQ
-
Каковы системные требования для Decoy? Decoy требует macOS 14 Sonoma или новее.
-
Decoy бесплатный? Decoy — это платное приложение, доступное для покупки в Mac App Store за €24.99.
-
Нужен ли Docker или Node.js для использования Decoy? Нет, Decoy — это самостоятельное нативное приложение для macOS. Оно не требует Docker, Node.js или каких-либо других внешних сред выполнения для своей основной функциональности.
-
Может ли Decoy обрабатывать HTTPS-запросы? В настоящее время Decoy фокусируется на HTTP-запросах. Для мокирования HTTPS обычно требуется настроить обратный прокси или использовать другой набор инструментов.
-
Как хранятся запросы? Входящие запросы сохраняются в локальной базе данных SQLite, гарантируя, что история ваших запросов сохранится, даже если приложение будет неожиданно закрыто.
Альтернативы
HTTPie AI
HTTPie AI 2.0 с чатом — это инновационный инструмент, разработанный для улучшения взаимодействия разработчиков с API.
AakarDev AI
AakarDev AI — это мощная платформа, которая упрощает разработку приложений ИИ с бесшовной интеграцией векторных баз данных, позволяя быстрое развертывание и масштабируемость.
Arduino VENTUNO Q
Мощный edge AI компьютер Arduino VENTUNO Q для ИИ и робототехники. Двухпроцессорная архитектура для восприятия, принятия решений и действий в реальном времени.
Devin
Devin - это агент по кодированию AI и инженер-программист, который помогает разработчикам быстрее создавать лучшее программное обеспечение.
imgcook
imgcook — это интеллектуальный инструмент, который одним щелчком мыши преобразует дизайн-макеты в высококачественный, готовый к использованию код.
Rork
Rork создает полные мобильные приложения, готовые к производству, на основе вашего описания с использованием ИИ и Expo (React Native).