Symfony и API Platform - получение данных с помощью slug или userToken или любого другого поля, отличного от ID - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь сделать следующее:

  • отправить запрос из моего интерфейса на пользовательский URL API для активации учетной записи пользователя (/ account / activ / someTokenValue)
  • retrieveбаза данных формы пользователя по значению подтверждения.
  • активировать учетную запись пользователя и сохранить ее в базе данных
  • вернуть информацию об активации (или некоторые ошибки, например, если токен недействителен)

Итак, яопределено:

* @ApiResource(itemOperations={
 *     "get",
 *     "activate_account"={
 *         "method"="get",
 *         "path"="/account/activate/{confirmationToken}",
 *         "controller"=UserActivate::class
 *     }
 * })
 */

В моем классе сущности User есть контроллер UserActivate и UserActivateHandler, который вызывается контроллером UserActivate.Я установил ApiProperty identifier для ID на false и на confirmationToken на true.

   /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     * @ApiProperty(identifier=false)
     *
     */
    private $id;

    /**
      * 
      * @ORM\Column(type="string", nullable=true)
      * @ApiProperty(identifier=true)
      */
    protected $confirmationToken;

Однако API Platform по-прежнему требуется идентификатор, и он, похоже, не видит параметр confirmationToken.

По сути, мой вопрос заключается в том, как я могу получить объект с помощью этогокейс, confirmationToken?

...