资源描述
Restish 是一款轻量、现代化的开源 REST API 命令行工具,专为开发者高效调试与交互式探索 HTTP 接口而设计。支持自动 OpenAPI/Swagger 发现、请求历史、环境变量管理、响应格式化(JSON/YAML/pretty-print)及脚本化调用,适用于 API 开发、测试、CI/CD 集成及 DevOps 日常运维场景,显著替代 cURL 和 Postman CLI 等传统方案。
详细内容
## Restish:现代化 REST API 命令行工具
Restish(https://rest.sh/)是一款面向开发者设计的高性能、可扩展的命令行 REST 客户端,旨在以极简语法实现专业级 API 交互体验。它不是 cURL 的简单封装,而是融合 OpenAPI 智能感知、状态管理与可编程能力的下一代 CLI 工具,兼顾易用性与工程严谨性。
### 核心定位与价值
- **开箱即用的智能发现**:自动检测本地或远程 OpenAPI v3 文档(如 `/openapi.json`),动态生成命令补全与参数提示;
- **开发者友好体验**:内置 JSON/YAML 响应高亮、自动缩进、字段过滤(`--jq`)、状态码语义化提示;
- **生产就绪能力**:支持多环境配置(dev/staging/prod)、变量注入、请求模板复用、HTTP 认证(Bearer、Basic、API Key)及 TLS 自定义;
- **可集成与可扩展**:提供 shell 函数导出、子命令插件机制,并原生兼容 Docsify 等文档平台的语法高亮渲染(如展示 `restish GET /users --jq '.data[].name'` 示例)。
### 主要功能列表
- ✅ 支持 HTTP 方法:GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS
- ✅ OpenAPI/Swagger v3 自动加载与交互式命令生成
- ✅ 请求历史记录与会话持久化(`.restish/history`)
- ✅ 环境变量管理(`restish env set prod --base-url https://api.example.com --header "Authorization: Bearer $TOKEN"`)
- ✅ 响应处理:`--jq`(集成 jq)、`--yaml`、`--raw`、`--status-only` 等输出控制
- ✅ 请求体支持:`--body`, `--body-file`, `--form`, `--json` 等多种格式输入
- ✅ 脚本化调用:支持管道输入(如 `cat payload.json | restish POST /items`)和 shell 函数封装
### 典型使用场景
- **API 快速验证**:无需启动 GUI 工具,5 秒内发起带认证的请求并查看结构化响应;
- **OpenAPI 驱动开发**:基于团队共享的 OpenAPI 规范,自动生成可执行命令,降低接口理解成本;
- **CI/CD 中的 API 健康检查**:在 GitHub Actions 或 GitLab CI 中嵌入 `restish GET /health --status-only --expect 200`;
- **DevOps 日常运维**:批量调用微服务管理端点(如服务注册、配置刷新、熔断开关);
- **文档协同**:配合 Docsify 渲染技术文档时,直接嵌入可复制、高亮的 `restish` 命令示例,提升读者实操效率。
### 上手步骤
1. **安装**(支持 macOS/Linux/Windows WSL):
```bash
curl -sSfL https://raw.githubusercontent.com/moznion/restish/main/install.sh | sh -s
# 或通过 Homebrew(macOS)
brew install moznion/tap/restish
```
2. **初始化环境**:
```bash
restish env add dev --base-url http://localhost:8080
restish env use dev
```
3. **发起请求**(自动识别 OpenAPI 时支持 Tab 补全):
```bash
restish GET /users?limit=10 --jq '.results[] | {id, name, email}'
restish POST /login --json '{"username":"admin","password":"pass"}'
```
4. **查看帮助与文档**:
```bash
restish help # 全局帮助
restish help GET # 方法专属帮助
restish docs # 启动本地 OpenAPI 文档浏览器
```
> ⚠️ 注意:Restish 由 moznion 开源维护,项目地址与最新文档请访问 [https://rest.sh/](https://rest.sh/)。所有功能均基于其官方 v0.9+ 版本特性描述,无第三方依赖或闭源组件。