UStackUStack
Decoy icon

Decoy

Decoy macOS 应用:轻松创建本地 Mock Server,用于 API、Webhook 测试,无需复杂设置。

Decoy

什么是 Decoy?

什么是 Decoy?

Decoy 是一款强大且直观的原生 macOS 应用,专为需要轻松创建和管理本地 Mock Server 的开发者而设计。它通过提供一个简单的、无需设置的环境,简化了模拟 API 端点、测试 Webhook 集成和调试网络相关代码的过程。与通常涉及复杂配置、Docker 容器或云端隧道服务的传统方法不同,Decoy 可在您的 Mac 上提供即时启动的体验。

Decoy 采用 SwiftUI 和 Network.framework 等现代 macOS 技术构建,针对性能和资源效率进行了优化。它能即时启动,消耗最少的内存,并允许实时更改 Mock 响应,确保无缝的开发工作流程。无论您是构建新应用、集成第三方服务,还是测试网络故障和超时等边缘情况,Decoy 都提供了加速开发周期所需的灵活性和控制力。

主要功能

  • 轻松创建 Mock Server:使用自定义方法、路径定义端点,并将它们分组到项目中以便更好地组织。
  • 实时请求监控:查看所有传入请求的详细信息,包括标头、正文、源 IP 和时间戳。JSON 负载会自动格式化以便阅读。
  • 灵活的响应 Mocking:使用任何 HTTP 状态码配置响应,从 7 种不同的正文类型(纯文本、JSON、HTML、XML、文件、空、重定向)中选择,设置自定义标头,并模拟延迟。
  • 参数化路径:支持 /users/:id 等动态路径以匹配各种请求参数。
  • 多种响应正文类型:轻松提供 JSON、HTML、XML、纯文本、文件(图像、PDF)、空响应或执行重定向。
  • 即时更改:对端点或响应的修改会在下一个传入请求时立即生效。
  • 请求导出:将请求详细信息复制为 cURL、JavaScript fetch 或 Ruby 代码片段,以便于调试和共享。
  • 自动 CORS 处理:自动添加 CORS 标头,确保基于浏览器的请求无缝工作。
  • 文件响应:直接将静态文件作为响应提供。
  • 原生 macOS 体验:使用 SwiftUI 构建,应用快速、响应迅速且内存效率高。无需 Docker、云隧道或复杂的配置文件。
  • 项目分组:在自定义子域下组织端点(例如 api.decoy.my)。
  • 响应快照:查看为每个请求发送的确切响应。
  • 自定义域名:使用默认域名,如 decoy.mylvh.me,或配置您自己的域名。
  • 详细请求检查:检查每个请求的标头、正文(二进制数据的十六进制转储)、源 IP、时间戳和唯一 UUID。
  • 重定向支持:轻松配置 301、302、307 和 308 重定向,并自动处理 Location 标头。
  • 持久化存储:请求保存到 SQLite 数据库,确保即使应用意外退出也不会丢失数据。

如何使用 Decoy

开始使用 Decoy 的过程设计得非常简单:

  1. 安装 Decoy:从 Mac App Store 下载并安装 Decoy。
  2. 创建项目:启动 Decoy 并创建一个新项目。您可以分配自定义子域(例如 myapi)或使用默认的 decoy.my 域名。
  3. 定义端点:在项目中添加新端点。指定 HTTP 方法(GET、POST、PUT、DELETE 等)和路径(例如 /users/products/:id)。
  4. 配置响应:为每个端点定义所需的响应。选择状态码,选择正文类型(JSON、文本、文件等),添加任何必要的标头,并选择性地设置延迟以模拟网络延迟。
  5. 指向您的应用程序:将您的应用程序、脚本或服务配置为向 Decoy 提供的地址发送请求(例如 http://myapi.decoy.my:8998)。
  6. 监控和调试:当请求进来时,Decoy 将实时显示它们。您可以检查传入请求的所有详细信息,并验证发送的响应。
  7. 迭代:即时对端点配置或响应进行更改。Decoy 会立即应用这些更改,从而实现快速迭代和调试。

用例

  • API 开发与测试:在前端开发过程中模拟后端 API 响应,使团队能够并行工作,而无需等待后端完成。测试各种响应场景,包括错误代码和边缘情况。
  • Webhook 集成测试:通过设置 Decoy 来本地接收和检查来自 Stripe、GitHub 或 Slack 等第三方服务的 Webhook 有效负载,轻松测试您的应用程序如何处理传入的 Webhook。
  • 移动应用开发:为移动应用程序模拟网络请求,以测试 UI 行为、离线场景和错误处理,而无需依赖实时后端。
  • 测试网络弹性:通过在 Decoy 的响应中引入延迟来模拟慢速网络条件或超时,有助于构建能够优雅处理延迟的更健壮的应用程序。
  • 爬虫和机器人开发:通过提供来自本地 Mock Server 的可预测响应来测试与 Web 服务交互的爬虫或机器人。

常见问题解答

  • 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 Mocking,通常需要配置反向代理或使用其他工具集。

  • 请求是如何存储的? 传入的请求会保存到本地 SQLite 数据库,确保即使应用程序意外关闭,您的请求历史记录也会得到保留。