JSON形式でデータを受け取るSymfony2を使用したREST APIに取り組んでいます。
JSON をオブジェクトに変換する適切な場所は次のとおりです。
- コントローラーはJSONをオブジェクトに/から変換し、オブジェクトも返すPHPオブジェクトを渡すServiceメソッドを呼び出しますか?
- コントローラーはJSONをServiceメソッドに渡し、JSONをオブジェクトに変換し、結果のオブジェクトをJSONに変換してから返しますか?
JSON形式でデータを受け取るSymfony2を使用したREST APIに取り組んでいます。
JSON をオブジェクトに変換する適切な場所は次のとおりです。
モデルオブジェクトに関して機能するはずなので、サービスレイヤーに属していないことは間違いありません。アプリケーションには、HTML、REST、コマンド ラインなど、さまざまな UI を多数含めることができ、それらはすべて、データ交換にさまざまな形式を使用します。これらすべてのフォーマットの処理をサービス層に任せても意味がありません。
各タイプの UI には独自のコントローラー レイヤー (コマンド ライン UI の場合はコマンド) があり、モデル オブジェクトとの間でデータを変換してからサービス レイヤーに渡して戻すのは、これらのコントローラーの役割です。
コントローラ アクションで直接行うか、他のサービスに委任するか、AOP を使用するかなど、正確にどのように行うかは、あなたの選択です。サービス層、つまりドメイン層の外に置いてください。