我需要在 symfony 2 上为我的网站实现 RESTful API,所以我使用 FOSRestBundle + JMSSerializerBundle
我的实体有这样的序列化程序 yml:
Acme\DemoBundle\Entity\Product:
exclusion_policy: ALL
accessor_order: custom
custom_accessor_order: [id, title]
properties:
id:
expose: true
title:
expose: true
virtual_properties:
getMainPhoto:
serialized_name: photo
问题是getMainPhoto
将我的网址返回到全尺寸图像。我想在向 api 客户端发送响应之前预处理这个 url,我可以在其中生成新的 url 来调整此类图像的大小版本。我已经在 sf2 中有可以完成这项工作的服务:
$resized_url = $someService->generateResizedUrl($item->getMainPhoto(), 640, 480);
但我不知道如何将这项服务与 JMSSerializer 一起使用。也许 FOSRestBundle\JMSSerializerBundle 在它发送响应之前有一些回调?