Symfony序列化器:选择组并添加其他属性

时间:2019-10-06 12:27:05

标签: symfony

使用Symfony Serializer,我可以选择带有以下项的组:

[
    'groups' => 'api_index',
]

我可以使用:

选择属性
[
    'attributes' => [...],
]

我可以使用:p忽略属性

[
    'ignored_attributes' => [...],
]

但是我想选择一个组并添加其他属性

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

要添加其他属性,您需要使用@VirtualProperty

use JMS\Serializer\Annotation\VirtualProperty;
use JMS\Serializer\Annotation\SerializedName;

class Entity
{
     private $field;

     /**
      * @VirtualProperty
      * @SerializedName("extra_field")
      */
     public function getextraField()
     {
         // do some logic
         // return "foo";

     }
}

您的JSON数据似乎类似于:

{
 ...,
"extra_field":"foo"
}

关于@VirtualProperty