2016-10-26 2 views
1

私はApigility + Doctrineで動作するプロジェクトを持っています。Apigility + Doctrine:カスタムレスポンス

これは、DB行を取得する場合には完璧ですが、ほとんどのサービスではさらに多くのデータを返す必要があります。追加のコードを書くことなく自動的にエンティティとコレクションを取得できます。たとえば、「タスク」に親がある予定リスト。ツリーのように検索する場合は、まずそれを処理する必要があります。非常に多くの場合、フロントエンドにデータやキーを処理して表示や隠す方法を伝えるフラグが必要です。データベースでFKやPKなどのように表現されていない余分な情報を取得すると便利なことがあります。

これまでのところ、Apigilty + Doctrineでは、出力にANY情報を追加する必要があります。エンティティは、正しいキーを設定し、それが動作します。しかし、前の例から、私が必要とするデータはデータベースからのものではなく、単純にDB依存関係として表現できないことがわかります。

質問:

  1. これを行うための正しい方法は何ですか?
  2. この問題に関するドキュメントはありますか?
  3. 正しいHAL構造を維持して出力をカスタマイズするにはどうすればよいですか?

答えて

1

デフォルトでは、Entityの値はそのまま応答として与えられます。値を変更する場合(親データの取得、子データの取得、データ形式の変更など)は、Entityの場合はHydratorEntityの場合はHydrator Strategyのカスタムを作成する必要があります。ここで

は私のApigility教義プロジェクト

https://github.com/aqilix/zf3-apigilty-oauth2/blob/1.0.1/module/User/src/V1/Hydrator/UserProfileHydratorFactory.php

から Hydrator例です
関連する問題