#openapi #api #tui #specification #list #run #browse

应用 openapi-tui

此TUI允许您列出和浏览由openapi规范描述的API

14个版本 (8个重大更新)

0.9.4 2024年7月27日
0.8.0 2024年4月14日
0.6.1 2024年3月16日

Web编程 中排名第574

Download history 17/week @ 2024-04-26 359/week @ 2024-05-03 193/week @ 2024-05-10 42/week @ 2024-05-17 19/week @ 2024-05-24 7/week @ 2024-05-31 6/week @ 2024-06-07 10/week @ 2024-06-14 7/week @ 2024-06-21 5/week @ 2024-07-12 5/week @ 2024-07-19 163/week @ 2024-07-26 20/week @ 2024-08-02 4/week @ 2024-08-09

每月下载量 193

MIT 协议

6MB
5K SLoC

logo

openapi-tui

CI

终端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

演示

demo

其他功能动画

显示更多

嵌套组件

nested-refrences

全屏

fullscreen

Webhooks

webhooks

过滤器

filter

调用端点

call


安装

从源安装

 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

发行版软件包

软件包状态

Packaging status

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 添加或删除查询字符串。子命令是 addrm。例如 query add page
header, h 添加或删除标题。子命令是 addrm。例如: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