fiasco / tabular-openapi
将 OpenAPI Schema 转换为关系表结构
dev-main
2023-10-12 00:57 UTC
Requires
- cebe/php-openapi: ^1.7
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-12 03:05:14 UTC
README
将 OpenApi schema 对象存储在表格数据结构中。
这个库允许您将 OpenApi 架构映射到可以进一步转换为 CSV、SQL 或数据湖存储(例如 Domo)的表格。
安装
这个库依赖于 cebe/php-openapi,可以通过 composer 安装。
composer require fiasco/tabular-openapi
使用方法
加载架构
use Fiasco\TabularOpenapi\Schema; $schema = new Schema('https://path/to/openapi-spec.json');
获取一个 OpenApi 架构组件来插入数据。
$table = $schema->getTable('Report');
将您的 OpenApi 兼容架构对象插入表格
$table->addRow($report);
遍历架构表格以发现表格中的数据。Tabular OpenApi 依赖 Symfony Console 的开发依赖项,因此您可以在测试期间将表格数据输出到控制台。
use Symfony\Component\Console\Input\ArgvInput; use Symfony\Component\Console\Output\ConsoleOutput; use Symfony\Component\Console\Style\SymfonyStyle; $io = new SymfonyStyle(new ArgvInput(), new ConsoleOutput()); foreach ($schema->getTables() as $name => $table) { $io->title($name.': '.$table->getRowsTotal() . ' ('.$table->uuid.')'); $rows = []; foreach ($table->fetchAll() as $row) { $rows[] = $row; } $headers = array_keys(reset($rows) ?: []); $io->table($headers, $rows); $io->text('----'); }