自定义getter的序列化错误

时间:2017-09-07 13:44:32

标签: symfony serialization api-platform.com

我有一个实体,它有两个manyToOne,想要在序列化期间换行。

namespace AppBundle\Entity\Fleet;

use AppBundle\Entity\Account\Site;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 */
class Equipment
{
    /**
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Account\Site")
     * @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
     */
    protected $siteOwner;

    /**
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Account\Contact")
     * @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
     */
    protected $contactOwner;
}

序列化为

{
    "owner": {
        "site": {...},
        "contact": {...}
    }
}

所以我做了一个简单的吸气剂。

/**
 * @Groups({"read"})
 */
public function getOwner()
{
    return [
        'site' => $this->siteOwner,
        'contact' => $this->contactOwner,
    ];
} 

SiteContact个实体也是具有工作端点的ApiResource。但是在序列化过程中出现错误:No resource class found for object of type "AppBundle\Entity\Account\Site".

有什么想法吗?

更新

我能够通过api-platform演示重现同样的问题。我已经分解了基础演示,added a custom getter on the review entity

得到相同的No resource class found for object of type AppBundle\Entity\Book

0 个答案:

没有答案