与同一类的关系的 Api 平台自定义上下文

问题描述

namespace App\Entity\Client;
/**
 * @ApiResource(
 *   attributes={
 *       "collectionoperations"={"get","post","put"},*       "itemOperations"={"get","patch","put","delete"={"method"="DELETE","route_name"="api_document_delete" }},*       "normalization_context"={"groups"={"document","document:read","translations"},"swagger_deFinition_name": "Read"},*       "denormalization_context"={"groups"={"document"},"swagger_deFinition_name": "CreationWrite"},*       "order"={"createdAt": "DESC","date": "DESC"},*       "pagination_enabled"=false,*       "pagination_client_enabled"=true
 *   }
 * )
 */
class Document
{
...
   /**
     * @ORM\Column(name="status",type="string",length=10,nullable=false)
     * @Groups({"document:read","document:write"})
     */
    public $status;

    /**
     * @Groups({"document:read","document:write"})
     * @ORM\ManyToOne(targetEntity="App\Entity\Client\Document",inversedBy="documentReferences",fetch="EXTRA_LAZY")
     * @ORM\JoinColumn(name="reference_document_id",referencedColumnName="id",onDelete="SET NULL")
     */
    public $referenceDocument;
...

补丁: { “身份证”:123, “状态”:“完成”, “referenceDocument”:{“id”:456,“状态”:“测试”} }

如果我现在修补字段,则参考文档中的字段应该被覆盖。预期的结果应该是设置了参考文档,但是参考文档的状态没有改变。 如何防止字段被覆盖?

我尝试过使用自定义上下文,但由于它是同一个类,因此我无法更改参考文档的上下文。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)