2015-08-18 108 views
0

我想開發一個使用FOSRestBundle的Symfony2 API,但我堅持一個關於我的Doctrine實體之一(我正在使用JMS序列化程序包序列化)的序列化錯誤。JMS序列化程序無法序列化實體與接口

的錯誤消息如下:「資源不是以序列數據支持」

的系列化工作,直到我做了我的實體來實現自定義接口:

/** 
* Quotation 
* 
* @ORM\Table(name="quotation") 
* @ORM\Entity 
*/ 
class Quotation implements FileStorageInterface 
{ 
    // content 
} 

和接口:

interface FileStorageInterface 
{ 
    public function getFile(); 

    public function setFile($file); 
} 

我在網上搜索,但找不到任何關於序列化實體實現一個界面。所以如果任何人有一個關於如何解決這個問題的想法,我會很樂意接受它。

+0

我理解你是正確的:如果你刪除字符串'實現FileStorageInterface'沒有任何其他操作一切工作正常? –

+0

就是這樣! –

回答

1

這個問題並不是特別的,因爲你只是實現任何接口,而是因爲對象的數據包含資源。看看有問題的接口,我懷疑dat setFile()被稱爲一個資源的值,並存儲在對象的屬性。

+0

你完全正確,我在對象的屬性內存儲一個流。但事情是,我試圖排除這個屬性被序列化/反序列化感謝JMS的@Exclude註釋,但我仍然得到錯誤。 –