14个版本 (8个重大更新)
0.9.4 | 2024年7月27日 |
---|---|
0.8.0 | 2024年4月14日 |
0.6.1 | 2024年3月16日 |
在 Web编程 中排名第574
每月下载量 193 次
6MB
5K SLoC
openapi-tui
终端UI,用于列出、浏览和运行使用OpenAPI v3.0和v3.1规范定义的API。
用法
❯ openapi-tui --help
This TUI allows you to list and browse APIs described by the openapi specification.
Usage: openapi-tui --input <PATH>
Options:
-i, --input <PATH> Input file or url, in json or yaml format with openapi specification
-h, --help Print help
-V, --version Print version
示例
# open local yaml file
❯ openapi-tui -i examples/stripe/spec.yml
# open local json file
❯ openapi-tui -i examples/petstore.json
# open remote file
❯ openapi-tui -i https://raw.githubusercontent.com/github/rest-api-description/main/descriptions-next/api.github.com/api.github.com.yaml
演示
其他功能动画
显示更多
嵌套组件
全屏
Webhooks
过滤器
调用端点
安装
从源安装
❯ cargo install openapi-tui
或从发布页面下载预构建的工件。
Docker
只需使用docker运行应用程序。
# open local file
❯ docker run --rm -ti -v$(pwd)/examples:/opt zaghaghi/openapi-tui -i /opt/petstore.json
# open remote file
❯ docker run --rm -it zaghaghi/openapi-tui -i https://raw.githubusercontent.com/github/rest-api-description/main/descriptions-next/api.github.com/api.github.com.yaml
发行版软件包
Arch Linux
您可以使用以下命令使用 pacman
安装
❯ pacman -S openapi-tui
NixOS
您可以直接使用以下命令安装 openapi-tui
包
nix profile install github:zaghaghi/openapi-tui
您还可以通过将其添加到您的 configuration.nix
文件中来安装 openapi-tui
# flake.nix
{
inputs.openapi-tui.url = "github:zaghaghi/openapi-tui";
# ...
outputs = {nixpkgs, ...} @ inputs: {
nixosConfigurations.<your-hostname> = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; # this is the important part
modules = [
./configuration.nix
];
};
}
}
然后,将 openapi-tui
添加到您的 configuration.nix
# configuration.nix
{inputs, pkgs, ...}: {
environment.systemPackages = with pkgs; [
inputs.openapi-tui.packages.${pkgs.system}.openapi-tui
];
}
快捷键
键 | 操作 |
---|---|
→ , l |
移动到下一个面板 |
← , h |
移动到上一个面板 |
↓ , j |
在列表中向下移动 |
↑ , k |
在列表中向上移动 |
1...9 |
在选项卡之间移动 |
] |
移动到下一个选项卡 |
[ |
移动到上一个选项卡 |
f |
切换全屏面板 |
g |
进入列表中的嵌套项 |
q |
退出 |
/ |
过滤API |
: |
运行命令 |
Backspace , b |
从列表中的嵌套项退出 |
命令主页
命令 | 描述 |
---|---|
q |
退出 |
request , r |
转到请求页面 |
历史记录 |
请求历史记录 |
请求页面命令
命令 | 描述 |
---|---|
q |
退出 |
send , s |
发送请求 |
query , q |
添加或删除查询字符串。子命令是 add 或 rm 。例如 query add page |
header , h |
添加或删除标题。子命令是 add 或 rm 。例如:header add x-api-key |
request , r |
加载请求负载。例如:request open /home/hamed/payload.json |
response , s |
保存响应负载,例如:response save /home/hamed/result.json |
实现的功能
- 查看器
- OpenAPI v3.1
- 显示 Webhooks
- 显示信息和版本
- 过滤 API
- 远程 API 规范
- 根据
in
合并参数 - 面板全屏模式
- 嵌套组件
- 状态栏
- 电话页面
- 通话记录
- 请求纯文本编辑器
- 标题输入(无验证)
- 路径输入(无验证)
- 呼叫
- 纯文本响应查看器(状态 + 标题 + 主体)
- 历史查看器
- 重构页脚,添加闪存页脚消息
- 导入请求体文件
- 保存响应体和标题
- 带有↑/↓的命令历史
- 支持数组查询字符串
- 支持额外标题
待办事项
- 架构类型(openapi-31)
- 在弹出窗口中显示键映射
- 从 STDIN 读取规范
- 请求进度条
依赖项
~30–48MB
~800K SLoC