У меня есть фильтры, но они не применяются к данным
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) Тот же результат с именем и другими параметрами
В чем может быть проблема?




Это не указано в документации. Но фильтр не будет работать, пока вы не укажете в файле api_platform.yaml
framework:
serializer: { enable_annotations: true }
Как правильно отмечено в комментариях, это упоминается в документации в разделе конфигурации:
api-platform.com/docs/core/serialization#configuration
Собственно это упоминается в документации. api-platform.com/docs/core/serialization#configuration
зачем вам вообще нужен фильтр по полю id? простой
http://localhost/api/profile/hosts/1должен заставить работать