友達を作る方法JMS SerializerとLiipImagineBundle

現在、AngularJSでフロントエンドAPIを書いています。 これを行うには、Symfonyの標準バンドルを使用します。


写真を含むオブジェクトの親指とプレビューへのリンクを提供するタスクがありました。 私はすでにコードでLiipImagineBundleを使用しており 、このバンドルを使用してAPIでリンクを生成したいと考えていました。 必要なソリューションを探した後、このための既製のバンドルがないことに驚きました。

プロジェクトは積極的にサポートされていないため、私は明らかにJMSSerializerBundleのファンではないことを伝えたいと思います。 Symfony Serializerの方が優れていますが、人生はそれほど単純ではありません)

また、APIはオープンされる予定であり、応答でサムへのリンクを送信する必要があります。 ドックに書き込むだけで、 http://example.com/resolver/filter/image/name.jpgというURLを使用して、動作しない親指を取得します。

トピックに戻ります。 自転車を書く必要があることを認識して、私はそれを書き始めました。 それが必要とされたプロジェクトは小さくないため、別の構成がサポートされるようにする必要がありました。 たとえば、画像には複数のフィルタが含まれている場合と含まれていない場合があります。 VichUploaderBundleを使用してすべてをサーバーにアップロードするため、シリアル化可能なフィールドがこのバンドルのフィールドになり得るという事実を考慮して、リンクを生成する必要がありました。

JMSSerializerBundleには、使用したserializer.pre_serializeおよびserializer.post_serializeオブジェクトをシリアル化するときに発生する2つのイベントがあります。


bundlaおよびバンドル自体の使用に関するドキュメントは、GitHub LiipImagineSerializationBundleにあります。

Source: https://habr.com/ru/post/J279043/


All Articles