我的Symfony2 API使用帶有屬性註釋的FOSRestBundle和JMSSerializer,但有很多次我不想公開每個屬性。我知道JMS有排除組,但我無法弄清楚如何將這些包含在我的Symfony控制器中。應該有一種動態使用PHP的方法,但這似乎也從文檔中丟失了。FOSRestBundle和JMSSerializer運行時公開
3
A
回答
4
如果您在本example使用View
類一樣,你可以設置系列化方面與setSerializationContext
方法
public function getUsersAction()
{
$data = // get data, in this case list of users.
$view = $this->view($data, 200)
->setSerializationContext(SerializationContext::create()->setGroups(array('list')))
;
return $this->handleView($view);
}
+0
謝謝,我之前閱讀過這些信息,但從未點擊過。 – MechEngineer
+3
而不是設置組,我如何添加/刪除字段?有誰知道? – DavidLin
+1
您可以根據請求使用組來隱藏/顯示某些字段,也可以單獨處理實體並自行刪除字段。 – MechEngineer
4
由於FOSRest 2.0版本中,你必須使用此:
$view = $this->view($response, $code);
$view->setContext($view->getContext()->setGroups(['get_client']));
相關問題
- 1. JMSSerializer和FOSRestBundle - 註解不起作用。 「不存在」
- 2. 如何用FosRestBundle公開函數結果?
- 3. JMSSerializer和繼承類
- 4. 在本地運行web服務器而不公開公開?
- 5. Node.js Express - 公開運行項目
- 6. 使用Symfony3和FOSRestBundle進行PATCH操作
- 7. JmsSerializer編碼
- 8. WSO2 API管理器 - 公開發行商和商店URL公開
- 9. 公開在運行時從框架加載的類的接口
- 10. HystrixCommand在Glassfish中運行時未透過JMX公開
- 11. PHP做一個受保護的財產公開在運行時
- 12. IronPython公開.Net類型到運行時引擎
- 13. FOSRestBundle和JMS串行器,在創建JSON時出錯
- 14. FOSRestBundle串行器錯誤
- 15. JMSSerializer - 通過條件
- 16. JMSSerializer +形式/陣列
- 17. FOSMessageBundle和JMSSerializer不能一起工作
- 18. 公共語言運行時間
- 19. Ninject公約基結合在運行時
- 20. Binet公式的運行時間
- 21. 蒲公英運行時間表達式
- 22. Symfony2防火牆和FOSRestBundle
- 23. 使用FOSRestBundle和表格
- 24. 錯誤500與FOSRestBundle和Behat
- 25. FosRestBundle混合樹枝和json
- 26. 何時公開DTD
- 27. 運行時按鈕開關
- 28. FlashDevelop運行時間開銷
- 29. Java開始運行時Skype
- 30. 使用教義和JMSSerializer註釋對象的串行化陣列
你能不能句話的具體問題比如「如何在FOSRest控制器中使用JMSSerializer排除組?」那麼「在動態基礎上使用PHP,但似乎從文檔中缺少了什麼」是什麼意思? – nifr