У меня есть объект Product, я хочу получить всю информацию о продукте, если подключенный пользователь - SUBADMIN, но я не хочу получать описание, если подключенный пользователь - простой ADMIN, я использую аннотации этих групп и я знаю о свойствах чтения и записи, но не знаю, как получить желаемый результат.
/**
* @ApiResource(
itemOperations={
* "get"={
* "normalization_context"={"groups"="read"}
* },
* "put"={"access_control"="isgranted('ROLE_ADMIN') or isgranted('ROLE_SUBADMIN')"},
* "delete"={"access_control"="isgranted('ROLE_ADMIN') or isgranted('ROLE_SUBADMIN')"}
* },
* collectionOperations={
* "get"={
* "normalization_context"={"groups"="read"}
* },,
* "post"={"access_control"="isgranted('ROLE_ADMIN') or isgranted('ROLE_SUBADMIN')"}
* },
* )
* @ORM\Entity(repositoryClass="App\Repository\ProduitRepository")
*/
class Produit
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
* @Groups("read")
*/
private $name;
/**
* @ORM\Column(type="string", length=255)
* @Groups("read")
*/
private $title;
/**
* @ORM\Column(type="string", length=255)
* @Groups("read")
*/
private $description;
// getters and setters here
}
Нужно ли использовать ContextBuilder для настройки этого?