繁体   English   中英

Symfony2 JMS序列化器添加自定义属性

[英]Symfony2 JMS serializer add custom property

如标题所述,我正在尝试向返回的序列化对象添加自定义属性。

让我们使用以下方法的用户:

  • getFirstname,setFirstname
  • getLastname,setLastname
  • getUsername,setUsername
  • ...

现在在序列化中,我想添加一个属性fullName:名字+姓氏。

我的实体中有一个getter方法,如下所示:

/**
 * get name
 *
 * @return string
 */
public function getName()
{
    return $this->getFirstname()." ".$this->getLastname();
}   

我的序列化文件如下所示:

AppBundle\Entity\User:
    exclusion_policy: ALL
    properties:
        id:
            expose: false
        username:
            expose: true
            groups: [list, details]
        email:
            expose: true
            groups: [details]
        name:
            expose: true
            groups: [list, details]

我尝试过

    name:
        expose: true
        groups: [list, details]
        access_type: public_method
        type: string
        serialized_name: fullName
        accessor:
            getter: getName

和其他变体,但我似乎无法正确解决。

Note: Yes I've cleared my cache and tried it again.

有人能告诉我我想念什么吗?

提前致谢 !

由于您的全名根本不是一个属性,因此您必须定义一个虚拟属性:

AppBundle\Entity\User:
    exclusion_policy: ALL
    properties:
        # All properties but not name
    virtual_properties:
        getName:
            groups: [list, details]
            serialized_name: fullName

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM