对于一个项目,我使用 Api Platform 和Mercure。我目前对SoftDeleatable扩展有疑问。如果没有这个扩展,当我删除一个实体时,Mercure 会收到 DELETE。但是,如果我使用SoftDeleatable扩展,删除是正确的,但 Mercure 没有收到 DELETE。
代码实体:
/**
* @ORM\Entity(repositoryClass=MatchesRepository::class)
* @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false, hardDelete=false)
* @ApiResource(
* mercure=true,
* attributes={
* "normalization_context"={"groups"="read"},
* "denormalization_context"={"groups"="write"}
* },
* collectionOperations={
* "get",
* "post"={"security"="is_granted('ROLE_USER')"}
* },
* itemOperations={
* "get",
* "put"={"security"="is_granted('ROLE_ADMIN') or object.owner == user"},
* "delete"={
* "security"="is_granted('ROLE_ADMIN') or object.owner == user"
* },
* }
* )
*/
class Matches
{
刚刚添加了mercure=true来启用mercure
PS:我没有测试更改 DELETE 功能是否有效,但 SoftDeleatable 可以正常进行:/