Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php FOSRestBundle,过滤JSON响应中的对象属性_Php_Json_Symfony_Fosrestbundle - Fatal编程技术网

Php FOSRestBundle,过滤JSON响应中的对象属性

Php FOSRestBundle,过滤JSON响应中的对象属性,php,json,symfony,fosrestbundle,Php,Json,Symfony,Fosrestbundle,我正在使用FOSRestBundle为一个Symfony2项目构建一个API,我通常只返回要用JSON编码的条令对象。通常是这样: /** * @Rest\View() */ public function getEventsAction(Request $request) { // security checks return $this->getDoctrine()->getRepository('SomeBundle:Event')->findAll();

我正在使用FOSRestBundle为一个Symfony2项目构建一个API,我通常只返回要用JSON编码的条令对象。通常是这样:

/**
 * @Rest\View()
 */
public function getEventsAction(Request $request)
{
  // security checks

  return $this->getDoctrine()->getRepository('SomeBundle:Event')->findAll();
}
问题是,这将返回所有对象属性和关系,在许多情况下我不希望这样,例如,对于包含哈希密码和所有内容的用户对象


在JSON中编码条令对象时,有没有办法设置自动过滤器?或者我必须创建一个仅获取所需数据的QueryBuilder吗?

我强烈建议使用,它将为您提供所需的任意多个选项。将其包含在项目中后,可以将实体配置为仅序列化特定属性。有很多方法可以做到这一点,您可以在文档部分看到所有不同的方法

您可以排除特定属性以及更多。看一看


另外,请查看更多关于如何将其与FOSRestBundle一起使用的信息,我强烈建议使用,它将为您提供所需的任意多个选项。将其包含在项目中后,可以将实体配置为仅序列化特定属性。有很多方法可以做到这一点,您可以在文档部分看到所有不同的方法

您可以排除特定属性以及更多。看一看


另外,请查看更多关于如何将其与FOSRestBundle一起使用的信息

FOSRestBundle实际上需要安装JMSSerializerBundle,但我完全忘记了它。它似乎有我需要的一切,谢谢!FOSRestBundle实际上需要安装JMSSerializerBundle,但我完全忘记了它。它似乎有我需要的一切,谢谢!