Фильтры не применяются - PullRequest
0 голосов
/ 04 января 2019

У меня есть фильтры, но они не относятся к данным

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Core\Annotation\ApiResource;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\Collection;
use ApiPlatform\Core\Annotation\ApiFilter;
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter; 

/**
 * @ORM\Entity(repositoryClass="App\Repository\HostRepository")
 *
 * @ApiResource(
 *     routePrefix="/profile"
 * )
 *
 * @ApiFilter(SearchFilter::class, properties={"id": "exact"})
 *
 */
class Host
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;
    .....

Я отправляю такой запрос http://localhost/api/profile/hosts?id=1

Все ответы возвращаются мне (включая id = 1)результат с именем и другими параметрами

В чем может быть проблема?

1 Ответ

0 голосов
/ 04 января 2019

Это не указано в документации. Но фильтр не будет работать, пока вы не укажете в файле api_platform.yaml

framework:
    serializer: { enable_annotations: true }

Как правильно отмечено в комментариях, это упомянуто в документации в разделе конфигурации:
api-platform.com/docs/core/serialization#configuration

...