我的实体Foo中有 $ character属性。
该属性本身就是一个实体(AppBundle \ Entity \ Character)。
当我序列化Foo时,我不想让整个实体角色被序列化:我只需要角色的昵称。
我在AppBundle \ Entity \ Foo中写了这个:
/**
*
* @Serializer\VirtualProperty()
* @Serializer\SerializedName("character")
*/
public function getCharacterNickname()
{
return $this->character->getNickname();
}
" 虚拟财产"注释有效。
但" 序列化名称"不会,因为结果如下:
{
"id": 18,
"characterNickname": "Mr.Gilbert Norrel",
"foo": "foo",
"bar": true,
"baz": "baz"
}
(" characterNickname"而不仅仅是"字符",正如我在注释中所说的那样。)
属性" id"," foo"," bar"和" baz"有注释@ Serializer \ Expose ()。该物业"字符"不会(因为我想通过VirtualProperty序列化那个属性)
我错过了什么? 是否是因为我想用现有属性的名称序列化属性?
Ty:)
答案 0 :(得分:1)
找到解决方案:
https://github.com/schmittjoh/serializer/issues/334
似乎库的IdenticalPropertyNamingStrategy文件中存在错误。