Symfony API平台:用户应检索自己的实体

时间:2019-04-06 15:04:52

标签: symfony api-platform.com

我有这个实体

/**
 * @ApiResource()
 * @ORM\Entity(repositoryClass="App\Repository\FeedRepository")
*/
class Feed implements AuthoredEntityInterface
{
/**
 * @ORM\Id()
 * @ORM\GeneratedValue()
 * @ORM\Column(type="integer")
 */
private $id;

/**
 * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="myFeeds")
 * @ORM\JoinColumn(nullable=false)
 */
private $user;

/**
 * @ORM\Column(type="string", length=255)
 */
private $name;

/**
 * @ORM\Column(type="string", length=2083, unique=true)
 */
private $url;

// various getters and setters

}

使用AuthoredEntityInterface,我可以将用户自动设置为登录的用户。

我需要知道如何设置collectionOperations,因此当我以id = 1的用户身份登录时,当我调用/ api / feeds时,我将仅以user = 1的方式检索项目。希望通过注释来执行此操作,否则可以使用其他任何方法。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果仅用于连接的用户,则需要的是当前的用户扩展名(教义扩展名)。否则,您需要创建一个“子资源”链接。

链接到ExtensionSubresource

享受:)(感谢您提提我的评论)