使用rust实现的高性能api测试工具

Swift HTTP Tester - 像雨燕一样快速的API测试工具

为什么开发 Swift?

作为开发者,我们经常需要测试 API 接口。Postman 很棒,但它有时候感觉有点"重"。打开慢、占用内存大、还需要登录...我只是想快速测试一个接口,为什么要等那么久?

所以我决定自己动手,开发一个**轻量级、启动快、内存占用小**的 HTTP 测试工具。给它取名 Swift,就是希望它能像雨燕一样快速敏捷!

技术栈

选择技术栈时,我做了个有趣的组合:

  • **后端语言**:Rust(性能卓越、内存安全)

  • **前端框架**:Dioxus(Rust 编写的 React-like 框架)

这意味着整个应用都是 Rust 编写的,编译成单个可执行文件,无需任何运行时依赖!

功能特性

Swift HTTP Tester 已经实现了作为 HTTP 测试工具的核心功能:

✅ **完整的 HTTP 方法支持**:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS

✅ **灵活的请求体**:

  • None

  • JSON(带格式化/压缩按钮)

  • Text

  • Form Data(支持文件上传)

  • x-www-form-urlencoded

  • Binary(文件上传)

  • Raw(自定义 Content-Type)

✅ **实用功能**:

  • 自定义请求头

  • 可调整大小的文本框(拖动右下角)

  • JSON 自动格式化显示响应

  • 显示请求耗时和状态码

令人惊喜的体积

最让我自豪的是它的体积!编译后的二进制文件只有:

  • **macOS ARM64**:2.9MB

  • **macOS x64**:3.2MB

  • **macOS Universal**:6.1MB

没错,只有 3MB 左右!启动速度更是瞬间完成,真正做到了"Swift"这个名字的承诺。

效果预览

!Swift HTTP Tester界面(img.png)

界面简洁直观,左侧配置请求,右侧查看响应,一切都很直接,没有复杂的功能堆砌。

如何获取

直接下载

对于 macOS 用户,可以直接在 `dist/` 目录下载对应架构的二进制文件:

  • Apple Silicon 用户:`swift-macos-arm64`

  • Intel 用户:`swift-macos-x64`

  • 通用版本:`swift-macos-universal`

从源码构建

如果你想自己构建,或者需要在 Windows/Linux 上使用:

```bash

克隆项目

git clone https://github.com/yourusername/swift

cd swift

构建发布版本

cargo build --release

运行

./target/release/swift

```

项目还提供了构建脚本:

  • macOS/Linux:`./build.sh`

  • Windows:`.\build.ps1`

项目结构

```

swift/

├── src/

│ ├── app.rs # 主应用 UI

│ └── http_client.rs # HTTP 客户端逻辑

├── Cargo.toml # 项目配置

├── build.sh # Unix 构建脚本

├── build.ps1 # Windows 构建脚本

├── BUILD.md # 详细构建指南

└── dist/ # 构建输出目录

```

未来计划

这只是第一个版本,我计划继续添加:

  • 请求历史记录

  • 保存请求为集合

  • 环境变量支持

  • 更多主题配色

欢迎参与

项目采用 MIT 许可证,完全开源。无论你是想:

  • 尝试这个工具

  • 报告 Bug

  • 提交 PR 添加功能

  • 或者只是想看看 Rust + Dioxus 如何构建桌面应用

都欢迎来 GitHub 仓库逛逛!

**项目地址**:https://github.com/IdeasForLife/swift

附上智谱ai解析:https://zread.ai/IdeasForLife/swift

相关推荐
心平气和量大福大24 分钟前
C#-WPF-Window主窗体
开发语言·c#·wpf
goodesocket1 小时前
手机LPDDR芯片测试座厂商适配性强
测试工具
从零开始的代码生活_2 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸2 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
GIS阵地2 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
yaoxin5211233 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
groundhappy3 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
小钻风33664 小时前
Spring Boot 文件上传详解:深入理解 MultipartFile 的使用与原理
java·开发语言
qq_452396235 小时前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang
大卫小东(Sheldon)5 小时前
小鹤音形词典:一个用 Rust 写的离线编码查询桌面工具
ai·rust