Php JMS序列化期间使用的是什么方法?
我正在修改一个使用Symfony 2.7和JMS序列化程序的API。我有一个包含一些图像数据的实体。在我的实体定义中,相关字段注释如下:Php JMS序列化期间使用的是什么方法?,php,symfony,jmsserializerbundle,Php,Symfony,Jmsserializerbundle,我正在修改一个使用Symfony 2.7和JMS序列化程序的API。我有一个包含一些图像数据的实体。在我的实体定义中,相关字段注释如下: /** * @var string * * @ORM\Column(name="images_data", type="text") * @JMS\Groups({"default", "playlist", "digital_signage", "distributed_item"}) * @JMS\Type("array") * @JMS\Ac
/**
* @var string
*
* @ORM\Column(name="images_data", type="text")
* @JMS\Groups({"default", "playlist", "digital_signage", "distributed_item"})
* @JMS\Type("array")
* @JMS\Accessor(getter="getImagesDataDecode")
* @JMS\SerializedName("imagesData")
*/
private $imagesData;
。。。我将getImagesDataDecode()方法更改为如下所示:
public function getImagesDataDecode()
{
return ['testone'=>'a','testtwo'=>'b'];
}
。。。但是在测试期间,我的API端点不会返回新的测试数组。我只能得出结论,在API响应期间没有使用getImagesDataDecode()方法
如何找出返回API数据的方法?
我希望让我的程序在返回有问题的数据之前做一些分析和过滤。没有插入该逻辑的位置,看起来我暂时运气不佳。您缺少告诉序列化程序使用访问器方法的
@JMS\AccessType
注释。它默认为属性
,因此它不使用任何方法,而是通过反射使用属性本身
您是否尝试过调试和跟踪发出呼叫的曲目?并在getImagesDataDecode()方法上添加一个断点。感谢您的评论。我尝试在getImagesDataCode()中放置断点,但该方法未被调用。这让我无法确定如何继续。嗯,看起来该方法没有被调用。在你修改代码之前,它被调用了吗?