使用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

相关推荐
死磕音视频4 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
顽疲6 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog6 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
青川Lapis6 小时前
RUST:错误处理 thiserror 详解
rust
程序喵大人8 小时前
【C++入门】编译链接模型 - 07 链接器怎样把符号对上号
开发语言·c++·编译器·编译链接·链接器
微三云 - 廖会灵 (私域系统开发)8 小时前
供应链系统实战:多渠道订单聚合与分布式库存一致性方案总结
开发语言·分布式·php
学逆向的9 小时前
C 数据溢出与精度丢失
c语言·开发语言·网络安全
霸道流氓气质9 小时前
AgentFlow 入门与实战:Task-Based 并发、EWMA 动态调度与四道门禁的 Java 生产级编排
java·开发语言
ck01357910 小时前
图片抠图怎么做?从背景去除到透明 PNG 的实用教程
人工智能·测试工具·音视频·媒体·视频
释厄62310 小时前
错误无误公理——错误正确本同源都迭代定律——逆转有价值
android·开发语言·kotlin