Я использую symfony сериализатор для своих сущностей, и нет проблем, если всякий раз, когда я пытаюсь использовать группы в свойствах моей сущности, я получаю эту ошибку:
[Semantical Error] The annotation "@Symfony\Component\Serializer\Annotation\Groups" in property
App\Entities\User::$id was never imported. Did you maybe forget to add a "use" statement for this
annotation?
Вот моя сущность:
namespace App\Entities;
use Doctrine\ORM\Mapping AS ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity
*/
class User
{
/**
* @ORM\Id
* @Groups("user_show")
* @ORM\Column(type="string")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $password;
}
И у меня есть этот код в моем AppServiceProvider
(я использую Laravel)
public function boot()
{
$classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
$encoders = [new JsonEncoder()];
$normalizers = [new ObjectNormalizer($classMetadataFactory)];
$this->app->bind(SerializerInterface::class, function () use ($normalizers, $encoders) {
return new Serializer($normalizers, $encoders);
});
}