2

JSON形式でデータを受け取るSymfony2を使用したREST APIに取り組んでいます。

JSON をオブジェクトに変換する適切な場所は次のとおりです。

  • コントローラーはJSONをオブジェクトに/から変換し、オブジェクトも返すPHPオブジェクトを渡すServiceメソッドを呼び出しますか?
  • コントローラーはJSONをServiceメソッドに渡し、JSONをオブジェクトに変換し、結果のオブジェクトをJSONに変換してから返しますか?
4

2 に答える 2

5

モデルオブジェクトに関して機能するはずなので、サービスレイヤーに属していないことは間違いありません。アプリケーションには、HTML、REST、コマンド ラインなど、さまざまな UI を多数含めることができ、それらはすべて、データ交換にさまざまな形式を使用します。これらすべてのフォーマットの処理をサービス層に任せても意味がありません。

各タイプの UI には独自のコントローラー レイヤー (コマンド ライン UI の場合はコマンド) があり、モデル オブジェクトとの間でデータを変換してからサービス レイヤーに渡して戻すのは、これらのコントローラーの役割です。

コントローラ アクションで直接行うか、他のサービスに委任するか、AOP を使用するかなど、正確にどのように行うかは、あなたの選択です。サービス層、つまりドメイン層の外に置いてください。

于 2013-09-11T15:46:36.890 に答える