6

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

問題は、 URLをフルサイズの画像getMainPhotoに戻すことです。このような画像のサイズ変更されたバージョンへの新しい URL を生成できる API クライアントに応答を送信する前に、この URL を前処理します。私はすでにこの仕事をすることができるsf2のサービスを持っています:

$resized_url = $someService->generateResizedUrl($item->getMainPhoto(), 640, 480);

しかし、JMSSerializer でこのサービスを使用する方法がわかりません。FOSRestBundle\JMSSerializerBundle が応答を送信する直前にコールバックがあるのではないでしょうか?

4

2 に答える 2

1

ドキュメントをご覧ください。シリアル化プロセスにフックするために使用できるイベントや注釈が多数あります。

于 2013-01-23T10:21:47.623 に答える