Symfony api-平台:用户应该检索他自己的实体

Symfony api-platform: user should retrieve his own entities

我有这个实体

/**
 * @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 的项目。如果这个有可能我想用注释来做到这一点,否则任何其他方法都可以。

谢谢。

如果只是连接用户,你需要的是当前用户扩展(doctrine extension)。否则,您需要创建一个“子资源”link。

Link 到 Extension, and to Subresource.

尽情享受 :)(感谢您的点评)