Webアプリケーションの場合、モデルをビューに戻す必要があります。
モバイルアプリケーションまたはAPIの場合、xmlまたはjsonを返したいです。
単一のコントローラーメソッドを使用してこれらすべてを実行することは可能ですか、それともこれを複製して別のAPIコントローラーなどを作成する必要がありますか?
Webアプリケーションの場合、モデルをビューに戻す必要があります。
モバイルアプリケーションまたはAPIの場合、xmlまたはjsonを返したいです。
単一のコントローラーメソッドを使用してこれらすべてを実行することは可能ですか、それともこれを複製して別のAPIコントローラーなどを作成する必要がありますか?
Spring MVC 3.xを使用すると、1つのコントローラーメソッドでこれを実行できます。秘訣はContentNegotiatingViewResolver
、Spring構成で適切なものを接続することです。ファイル拡張子や要求されたmimeタイプに基づいて、目的のコンテンツタイプを返すように構成できます。
に単一のモデル属性のみを追加するメソッドに最適ですModel
。そうしないと、JSON/XMLが少し醜くなり始めます。
JSON / XMLの形式をより適切に制御でき、コードを長期的に維持しやすいため、Webサービス要求に個別のコントローラーメソッドを実装する方が簡単で優れていることがよくあります。
編集:上記のコメントを修飾するために、ページに最大5〜10個のモデル属性が追加される可能性のある複雑なJSPページ、結果のJSONは非常に乱雑になる傾向があり、通常は1つだけが必要であることがわかります- JSONに含まれるもののうち2つ。OTOH、1〜2モデルが追加された単純なページは非常にうまく機能します。