thefrozenfire/swagger

此包最新版本(2.0.10)没有提供许可信息。

PHP 的 Swagger 解析器

2.0.10 2016-08-04 22:00 UTC

This package is not auto-updated.

Last update: 2024-09-10 01:43:15 UTC


README

程序化解析 Swagger 规范文档,并按规范解析数据结构。

安装

composer require thefrozenfire/swagger:^2.0

许可

使用

描述一个操作

<?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?>