gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 09:23:19 25 4
gpt4 key购买 nike

我正在使用 FOSRestBundle 为 Symfony2 项目构建 API,并且经常简单地返回要以 JSON 编码的 Doctrine 对象。通常是这样的:

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

return $this->getDoctrine()->getRepository('SomeBundle:Event')->findAll();
}

事实是,这会返回所有对象属性和关系,但在很多情况下我不希望这样,例如包含哈希密码和所有内容的 User 对象。

在 JSON 中编码 Doctrine 对象时是否可以设置自动过滤器?或者我是否必须创建一个仅获取所需数据的 QueryBuilder?

最佳答案

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

您可以排除特定属性等等。看看吧。

此外,请查看 my other answer有关如何将其与 FOSRestBundle 一起使用的更多信息

关于php - FOSRestBundle,过滤 JSON 响应中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27045686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com