Я использую платформу API, и я определил настраиваемый фильтр после https://api-platform.com/docs/core/filters/#creating-custom-filters
Он работает нормально, но мне нужно, чтобы этот фильтр требовался каждый раз, когда приложение выполняет HTTP-запрос GET для определенного объекта (где установлен фильтр).
Я проверил этот код:
// This function is only used to hook in documentation generators (supported by Swagger and Hydra) public function getDescription(string $resourceClass): array { if (!$this->properties) { return []; } $description = []; foreach ($this->properties as $property => $strategy) { $description[«similar_$property»] = [ ‘property’ => $property, ‘type’ => ‘string’, ‘required’ => false, ‘swagger’ => [ ‘description’ => ‘Filter using a similar postgres function.’, ‘name’ => $property, ‘type’ => ‘string’, ], ]; } return $description; }
Хотя в getDescription есть обязательное поле, оно работает только для документации api, а не для HTTP-запроса.
В настоящее время комментарий класса ApiPlatform Core Filter QueryParameterValidateListener: проверяет параметры запроса в зависимости от описания фильтра. Однако он работает только для операций сбора с именем get. (сервис api_platform.listener.view.validate_query_parameters настроен с class = ApiPlatform Core Filter QueryParameterValidateListener в качестве kernel.event_listener с event = kernel.request) — person AythaNzt schedule 02.12.2020
Источник: