gpt4 book ai didi

rest - 如何公开方法或类似的替代方案

转载 作者:行者123 更新时间:2023-12-02 21:26:56 25 4
gpt4 key购买 nike

作为一个简单的例子,我有一个具有以下字段的学说实体

id
name
description

我正在使用 JMSSerializerBundle 并且它在大多数情况下运行良好,但是如果我想让序列化数据(Json)包含未完全映射到我的实体的内容,该怎么办? p>

例如,如果我只想返回描述的前 50 个字符并且我想将其称为 short_description,该怎么办?

我尝试使用排除策略和 @Expose 来公开方法,但这不受支持。

我需要经常对许多不同的实体做这种事情,我想知道是否有人可以为此提出一个很好的干净方法。

我已经阅读了JMSSerializerBundle的整个文档,并且还在互联网上寻找了解决方案,我可以想出一些解决方案,但生成的代码看起来有点脏。

最佳答案

注释 @VirtualProperty 就是您要查找的内容 ( http://jmsyst.com/libs/serializer/master/reference/annotations#virtualproperty )。

例如:

namespace Some\Bundle\Entity;

use JMS\Serializer\Annotation\VirtualProperty;
use JMS\Serializer\Annotation\SerializedName;

class MyEntity
{
private $description;

/**
* @VirtualProperty
* @SerializedName("short_description")
*/
public function getShortDescription()
{
return substr($this->description, 0, 50);
}
}

关于rest - 如何公开方法或类似的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23523976/

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