gpt4 book ai didi

rest - 如何使用 FosRestBundle 公开函数结果?

转载 作者:行者123 更新时间:2023-12-04 02:50:59 24 4
gpt4 key购买 nike

我正在使用 Symfony2 和 FosRestBundle 为我们的系统开发一个 REST API。FosRestBundle 是一个非常好的工具,但它似乎有一个限制:只有属性(priviate、protected 和 public)可以暴露给 API。

我想公开一个基于其他两个字段(例如全名 = firstName+lastName)计算的派生属性以及描述关系的属性(例如产品的类别名称而不是产品的类别 ID产品)

但是@Expose 注解只能作用于属性。

我已经尝试创建一个虚拟属性,在构造函数中设置该属性(在创建新属性时有效)和 Doctrine 生命周期 postLoad 事件处理程序(在从数据库加载时有效)并且它正在工作。但我不喜欢这种方法,因为即使 API 未使用实体类,它也会产生开销和额外的编码。

我想知道是否有更好的方法来实现这一目标。

最佳答案

您可以使用虚拟属性返回函数作为虚拟属性返回的值,您可以在 http://jmsyst.com/libs/serializer/master/reference/annotations#virtualproperty 中找到更多信息

/**
*
* @VirtualProperty()
* @SerializedName("fullName")
*/
public function getName()
{
// return name;
}

因此,当 this 对象被序列化时,它将返回一个具有 fullName 属性的对象,该属性是 getName 函数返回的值。

关于rest - 如何使用 FosRestBundle 公开函数结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17738166/

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