alessiodh / postmanexporter
基于 GuzzleHttp 调用创建自动化的 Postman 收集
dev-master
2020-11-15 12:55 UTC
Requires
- ext-json: *
- guzzlehttp/guzzle: ^7.2
This package is auto-updated.
Last update: 2024-09-15 22:50:05 UTC
README
一个用于将 GuzzleHttp 调用转换为代码中的 Postman 收集的包。
安装
这可以通过 composer 完成
composer require alessiodh/postmanexporter
使用
创建新的 Postman 收集
use Alessiodh\PostmanExporter\PostmanExporter; $exporter = new PostmanExporter('My collection name');
添加用于添加到调用收集的监听器
PostmanExporter 提供了 2 个中间件处理器。请求中间件是必需的,这将自动将请求记录到调用收集。响应中间件是可选的,并将响应添加到请求中。
$middleware = new PostmanExporterMiddleware(); $stack = new HandlerStack(); $stack->setHandler(new CurlHandler()); $stack->push($middleware->documentRequest($exporter)); $stack->push($middleware->documentResponse($exporter)); $client = new Client(['handler' => $stack]);
当添加了处理器后,每个使用该特定客户端执行的请求都将被记录。
为调用添加名称和描述
exporter_name
是 Postman 中调用的名称,这是必需提供的参数,否则调用将不会被注册。exporter_description
是一个可选参数,将为调用提供描述。
$resp = $client->get('https://google.com?foo=bar&t=b', [ 'exporter_name' => 'Get test', 'exporter_description' => 'Will perform a get request to google with 2 get parameters' ] );
导出结果
要导出收集,您可以将其导出为可以直接导入 Postman 的 JSON 文档,或获取作为字符串返回的 JSON。
导出为 JSON 文档
此函数将文件写入到 Storage::disk('public')
,文件名为 postman.json
。它不会检查文件是否存在,而是直接覆盖它。
$exporter->exportToPostman();
获取返回的 JSON
$exporter->getJsonOfCalls();
注意
这仍然是导出调用到 Postman 的简单实现。欢迎所有贡献。