diff --git a/Annotation/ApiDoc.php b/Annotation/ApiDoc.php index b297a5e..0b48c3b 100644 --- a/Annotation/ApiDoc.php +++ b/Annotation/ApiDoc.php @@ -675,6 +675,10 @@ class ApiDoc $data['response'] = $response; } + if ($parsedResponseMap = $this->parsedResponseMap) { + $data['parsedResponseMap'] = $parsedResponseMap; + } + if ($statusCodes = $this->statusCodes) { $data['statusCodes'] = $statusCodes; } diff --git a/Formatter/AbstractFormatter.php b/Formatter/AbstractFormatter.php index b7c0ad3..18cecdc 100644 --- a/Formatter/AbstractFormatter.php +++ b/Formatter/AbstractFormatter.php @@ -129,6 +129,12 @@ abstract class AbstractFormatter implements FormatterInterface $annotation['response'] = $this->compressNestedParameters($annotation['response']); } + if (isset($annotation['parsedResponseMap'])) { + foreach ($annotation['parsedResponseMap'] as $statusCode => &$data) { + $data['model'] = $this->compressNestedParameters($data['model']); + } + } + $annotation['id'] = strtolower($annotation['method']).'-'.str_replace('/', '-', $annotation['uri']); return $annotation; diff --git a/Formatter/SimpleFormatter.php b/Formatter/SimpleFormatter.php index e6aab92..6bdd622 100644 --- a/Formatter/SimpleFormatter.php +++ b/Formatter/SimpleFormatter.php @@ -30,7 +30,10 @@ class SimpleFormatter extends AbstractFormatter { $array = array(); foreach ($collection as $coll) { - $array[$coll['resource']][] = $coll['annotation']->toArray(); + $annotationArray = $coll['annotation']->toArray(); + unset($annotationArray['parsedResponseMap']); + + $array[$coll['resource']][] = $annotationArray; } return $array; diff --git a/Resources/views/method.html.twig b/Resources/views/method.html.twig index 87a85ca..01a6729 100644 --- a/Resources/views/method.html.twig +++ b/Resources/views/method.html.twig @@ -139,27 +139,39 @@ {% endif %} - {% if data.response is defined and data.response is not empty %} + {% if data.parsedResponseMap is defined and data.parsedResponseMap is not empty %}
Parameter | -Type | -Versions | -Description | -
---|---|---|---|
Parameter | +Type | +Versions | +Description | +
{{ name }} | -{{ infos.dataType }} | -{% include 'NelmioApiDocBundle:Components:version.html.twig' with {'sinceVersion': infos.sinceVersion, 'untilVersion': infos.untilVersion} only %} | -{{ infos.description }} | -
+ + {{ status_code }} + {% if data.statusCodes[status_code] is defined %} + - {{ data.statusCodes[status_code]|join(', ') }} + {% endif %} ++ |
+ |||
{{ name }} | +{{ infos.dataType }} | +{% include 'NelmioApiDocBundle:Components:version.html.twig' with {'sinceVersion': infos.sinceVersion, 'untilVersion': infos.untilVersion} only %} | +{{ infos.description }} | +