Фильтры не применяются

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

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: // локальный / api / профиль / хосты? id = 1

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

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

зачем вам вообще нужен фильтр по полю id? простой http://localhost/api/profile/hosts/1 должен заставить работать

Denis Alimov 04.01.2019 11:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
1
115
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

framework:
    serializer: { enable_annotations: true }

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

Собственно это упоминается в документации. api-platform.com/docs/core/serialization#configuration

Jakub Matczak 04.01.2019 12:14

Другие вопросы по теме