Only display filters on collections GET services

This commit is contained in:
maxime.steinhausser 2015-06-08 11:42:36 +02:00
parent a68dcfe829
commit 12372cca00

View File

@ -19,6 +19,7 @@ use Dunglas\ApiBundle\Mapping\ClassMetadataFactoryInterface;
use Nelmio\ApiDocBundle\Annotation\ApiDoc; use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Nelmio\ApiDocBundle\Extractor\AnnotationsProviderInterface; use Nelmio\ApiDocBundle\Extractor\AnnotationsProviderInterface;
use Nelmio\ApiDocBundle\Parser\DunglasApiParser; use Nelmio\ApiDocBundle\Parser\DunglasApiParser;
use Symfony\Component\HttpFoundation\Request;
/** /**
* Creates ApiDoc annotations for DunglasApiBundle. * Creates ApiDoc annotations for DunglasApiBundle.
@ -125,12 +126,14 @@ class DunglasApiProvider implements AnnotationsProviderInterface
$data['output'] = sprintf('%s:%s', DunglasApiParser::OUT_PREFIX, $entityClass); $data['output'] = sprintf('%s:%s', DunglasApiParser::OUT_PREFIX, $entityClass);
} }
if (Request::METHOD_GET === $method && $collection) {
$data['filters'] = []; $data['filters'] = [];
foreach ($resource->getFilters() as $filter) { foreach ($resource->getFilters() as $filter) {
foreach ($filter->getDescription($resource) as $name => $definition) { foreach ($filter->getDescription($resource) as $name => $definition) {
$data['filters'][] = ['name' => $name] + $definition; $data['filters'][] = ['name' => $name] + $definition;
} }
} }
}
$apiDoc = new ApiDoc($data); $apiDoc = new ApiDoc($data);
$apiDoc->setRoute($route); $apiDoc->setRoute($route);