thefrozenfire / swagger
此包最新版本(2.0.10)没有提供许可信息。
PHP 的 Swagger 解析器
2.0.10
2016-08-04 22:00 UTC
Requires
- php: ^5.5
Requires (Dev)
- phpunit/phpunit: ~3.7.22
- satooshi/php-coveralls: ~0.6
README
程序化解析 Swagger 规范文档,并按规范解析数据结构。
安装
composer require thefrozenfire/swagger:^2.0
许可
- 见 LICENSE 文件
使用
描述一个操作
<?php $spec = file_get_contents('http://petstore.swagger.io/v2/swagger.json'); $decodedSpec = json_decode($spec); $document = new Swagger\Document($decodedSpec); $operation = $document->getOperationById('addPet'); ?> Operation ID: <?=$operation->getOperationId()?> Tags: <?=implode(', ', $operation->getTags())?> Summary: <?=$operation->getSummary()?> Description: <?=$operation->getDescription()?> External Documentation: <?=$operation->getExternalDocs()?>
解析一个数据结构
<?php $spec = file_get_contents('http://petstore.swagger.io/v2/swagger.json'); $decodedSpec = json_decode($spec); $dataToParse = '...'; $document = new Swagger\Document($decodedSpec); $schemaResolver = $document->getSchemaResolver(); $dataType = $document->getSchemaForOperationResponse( 'getPetById', 200 ); $schemaObject = $schemaResolver->parseType($dataType, $dataToParse); ?> Pet name: <?=$schemaObject->getProperty('name')?> Pet status: <?=$schemaObject->status?>