1 个不稳定版本
0.1.0 | 2021年1月29日 |
---|
#557 在 模板引擎
用于 requestr-cli
10KB
179 行
requestr
简化存储、共享和运行 http 请求模板
安装
使用 cargo install requestr
安装 CLI 工具。
使用方法
请求配置
requestr 使用请求配置来发送 HTTP 请求。在请求模板中,您可以存储以下内容:
- URL
- 方法
- 头部
- 正文
如果您想向端点发送 JSON,您将设置以下配置。配置存储在 YAML 文件中。
url: https://your.host.com/api/user
method: post
header:
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
body: |
{
"name": "Stefan",
"id": 1001
}
如果将其存储在 ./request.yaml
中,您可以使用 requestr request.yaml
发送请求。
请求配置模板
为了提高请求配置的可重复使用性,您可以使用模板变量。我们可以使用 {{ variable_name }}
将变量插入到请求配置中。
使用上述示例,如果我们能从 CLI 提供名称和 ID,那就太好了。修改后的配置将如下所示:
url: https://your.host.com/api/user
method: post
header:
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
body: |
{
"name": "{{ user_name }}",
"id": {{ user_id }}
}
现在我们可以从 CLI 提供用户名和 ID:requestr request.yaml -p user_name=Stefan -p user_id=42
环境配置
对于许多请求,我们希望为不同的环境共享常见的模板变量。一个例子可能是测试和生产环境的不同凭据和主机。为了应对这种情况,可以创建每个环境的 YAML 文件。
我们修改上述示例并添加主机和授权的变量。
request.yaml
url: https://{{ host }}/api/user
method: post
header:
Content-Type: application/json
Authorization: Basic {{ auth }}
body: |
{
"name": "{{ user_name }}",
"id": {{ user_id }}
}
为了快速在测试和生产之间切换,我们可以创建以下环境配置。
test.yaml
host: test-api.com
auth: 11111111111111111111111111==
prod.yaml
host: api.com
auth: 22222222222222222222222222==
要使用这些文件之一,您可以运行以下命令:requestr request.yaml --env test.yaml -p user_name=Stefan -p user_id=42
依赖项
约7-20MB
约306K SLoC