我的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. PHP做一个受保护的财产公开在运行时
- 8. HystrixCommand在Glassfish中运行时未透过JMX公开
- 9. IronPython公开.Net类型到运行时引擎
- 10. FOSRestBundle和JMS串行器,在创建JSON时出错
- 11. JMSSerializer - 通过条件
- 12. JMSSerializer +形式/阵列
- 13. FOSRestBundle串行器错误
- 14. FosRestBundle混合树枝和json
- 15. Symfony2防火墙和FOSRestBundle
- 16. 使用FOSRestBundle和表格
- 17. Binet公式的运行时间
- 18. 公共语言运行时间
- 19. Ninject公约基结合在运行时
- 20. 何时公开DTD
- 21. 运行时按钮开关
- 22. FlashDevelop运行时间开销
- 23. Java开始运行时Skype
- 24. 如何在运行时使用C#运行字符串公式?
- 25. Excel中OpenText公司()的F#编译和运行时错误
- 26. JMSSerializer反序列化集合
- 27. 如何从正常运行时间开始日期和时间
- 28. VBA运行代码在启动时和开启时间间隔
- 29. FOSRestbundle,JMS序列化程序和SonataMediaBundle返回公共图像的url
- 30. 开卷Segue公司发行
你能不能句话的具体问题比如“如何在FOSRest控制器中使用JMSSerializer排除组?”那么“在动态基础上使用PHP,但似乎从文档中缺少了什么”是什么意思? – nifr