协作式API开发环境Yaade

什么是 Yaade ?

Yaade 是一个开源、自托管、协作式 API 开发环境。也是一个自托管的 Postman 替代方案,可以在队友之间轻松共享 API CollectionYaade 从头开始开发时,就考虑到了自托管和安全性。这意味着 API 请求中的敏感信息可以安全地存储在您自己的服务器上!

软件特点:

  1. 自托管:数据永远不会离开您自己的服务器
  2. 多用户:管理用户及其权限
  3. 持久性:甚至跨容器或服务器重新启动
  4. 轻松的单文件数据导入/导出
  5. 请求在您的计算机上执行,因此您可以调用本地主机以及远程服务器
  6. 最重要的是:默认深色模式

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 esperotech ,选择第一个 esperotech/yaade,版本选择 latest

docker 文件夹中,创建一个新文件夹 yaade,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/yaade/data /app/data 存放 H2 数据库

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
9339 9339

环境

可变
YAADE_ADMIN_USERNAME 设为 admin ,默认密码为 password

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 新建文件夹 yaade 和 子目录
mkdir -p /volume1/docker/yaade/data

# 进入 yaade 目录
cd /volume1/docker/yaade

# 运行容器
docker run -d \
--restart unless-stopped \
--name yaade \
-p 9339:9339 \
-v $(pwd)/data:/app/data \
-e YAADE_ADMIN_USERNAME=admin \
esperotech/yaade:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'

services:
yaade:
image: esperotech/yaade:latest
container_name: yaade
restart: unless-stopped
ports:
- 9339:9339
volumes:
- ./data:/app/data
environment:
- YAADE_ADMIN_USERNAME=admin

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 yaade 和 子目录
mkdir -p /volume1/docker/yaade/data

# 进入 yaade 目录
cd /volume1/docker/yaade

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:9339 就能看到登录界面

用户名就是我们前面设置的环境变量 YAADE_ADMIN_USERNAME 的值 admin,而密码默认为 password,记得登录成功,前往⚙️ > 帐户并更改密码

主界面

老苏的机器上还有 MeiliSearch,下面就以 MeiliSearch 为例

示例

之前我们是用 curl 来获取不同权限的 API Key

1
2
3
4
# 通过 MASTER_KEY 获取不同权限的 API Key
curl \
-X GET 'http://192.168.0.197:7700/keys' \
-H 'Authorization: Bearer 27bb9198372f81f8b95fb75d0252912de061fb6fa90d0ad6eb347cc051f0abe3'

Yaade 也是可以的。在 Collection 中新建一个 New Request,起个名字

  • url 中填入 Meilisearch 服务的地址:http://192.168.0.197:7700/keys,你需要改成自己的;
  • Headers 中添加
    • key 中填入 Authorization
    • value 中填入 Bearer MASTER_KEY 也就是 Bearer 27bb9198372f81f8b95fb75d0252912de061fb6fa90d0ad6eb347cc051f0abe3

可以看到返回了 Default Search API KeyDefault Admin API Key

如果你之前用过 postmanapipostapifox或者其他的 api 工具,上手应该还是很简单的

插件

另外 Yaade 还有个 Chrome 浏览器的扩展,该扩展允许通过所提供域的扩展来代理从 Yaade 应用程序发出的请求,以便可以实现跨域请求

不过老苏不是程序员,也就没去研究了

参考文档

EsperoTech/yaade: Yaade is an open-source, self-hosted, collaborative API development environment.
地址:https://github.com/EsperoTech/yaade

Yaade | The official documentation for Yaade
地址:https://docs.yaade.io/