Определение модели NelmioApiDoc / как игнорировать геттер или псевдоним существующего свойства с другим именем?

Можем ли мы переопределить имя свойства аксессора модели или проигнорировать его?

Вот мой User::getUsername функция, которая является геттером для свойства электронной почты (мне нужна эта функция, названная так, чтобы реализовать интерфейс):

class User extends AbstractDocument implements AdvancedUserInterface, EquatableInterface
{
    /**
     * @var string
     * @Assert\NotBlank()
     * @Assert\Email()
     * @SWG\Property(
     *     description="The email of the user",
     *     example="example@company.com"
     * )
     */
    private $email;

    //...

    /**
     * Returns the username used to authenticate the user.
     * @return string The user email
     * @SWG\Property(property="email")
     */
    public function getUsername()
    {
        return $this->email;
    }
}

И сгенерированный документ все еще показывает оба:

{
  "User": {
    "properties":{
      "email":{  
        "description":"The email of the user",
        "example":"example@company.com",
        "type":"string"
      },
      "username":{  
        "type":"string"
      }
    }
  }
}

Вы можете помочь мне с этим?

1 ответ

NelmioApiDoc учитывает атрибут Ignore, поэтому вы можете скрыть метод/поле следующим образом:

      use Symfony\Component\Serializer\Annotation\Ignore;

/**
 * @Ignore
 */
public function getUsername()

// or

#[Ignore]
public function getUsername()
Другие вопросы по тегам