1

对于一个项目,我使用 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 可以正常进行:/

4

0 回答 0