Строковый фильтр не работает в платформе API - PullRequest
0 голосов
/ 30 сентября 2019

Я использую платформу API v1.2.0 в Symfony 4.2.11, и я пытаюсь создать простой простой фильтр для фильтрации пользователей в моем приложении, используя аннотации, как предложено на странице документации платформы API. Но они не фильтруют данные, я все равно получаю все элементы в ответ.

Помимо аннотации, я попытался добавить фильтр в качестве службы, предложенной на веб-сайте платформы API. Но в этом случае я получаю сообщение об ошибке:

Attribute "bind" on service "app.string_filter" cannot be inherited from "_defaults" when a "parent" is set. Move your child definitions to a separate file

Чтобы избежать путаницы, я пробовал оба способа независимо друг от друга.

  • Аннотации не работают, конечная точка просто работает как без них.
  • Когда я объявляю службу, она терпит неудачу, как в верхнем сообщении об ошибке.

Это код моей сущности с аннотациями:


namespace App\Entity;

use ApiPlatform\Core\Annotation\ApiFilter;
use ApiPlatform\Core\Annotation\ApiResource;
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter;
use Doctrine\ORM\Mapping as ORM;
use Lexik\Bundle\JWTAuthenticationBundle\Security\User\JWTUserInterface;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
 * @ORM\Table(name="app_user")
 * @ApiResource()
 * @ApiFilter(SearchFilter::class, properties={"username": "partial"})
 */
class User implements JWTUserInterface
{

...

Любая помощь приветствуется, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...