2016-03-01 57 views
0

我正在調查Apigility作爲將REST服務添加到我的ZF2應用程序的方式,但是我發現它使用了水化器。我的域對象由驗證和過濾數據,添加代理等的工廠創建,然後實例化並返回所需類型的對象。工廠通過構造函數注入域對象數據。適用性:我不使用保溼劑。 Apigility仍然很適合?

在我看來,我需要改變Apigility如何創建域對象的工作流程。在我的情況下,它需要實例化一個工廠並將輸入提供給它。這聽起來正確嗎?我從哪說起呢?

回答

0

我認爲這不應該是一個問題。

您可以在your resource listener instance內注入資源工廠。在聽衆的方法中(create,update等),您可以使用您的工廠來完成其工作(例如創建資源),然後返回Hal\EntityHal\Collection作爲結果。

水化器主要用於Hal插件內部,用於在呈現您的(嵌套的)資源時提取數據。如果您直接從聽衆處返回Hal\EntityHal\Collection實例,插件將不需要任何水化器。唯一的條件是Hal資源的內容是json可序列化的(所以沒有複雜的對象)。