1 个不稳定版本
0.1.0 | 2021年1月29日 |
---|
#2005 在 开发工具
22KB
279 行
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 提供用户名 user_name
和用户 ID user_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
依赖项
~9–26MB
~364K SLoC