はが良いか、パラメーターに応じてPlay Frameworkで出力をレンダリングする適切な方法ですか?例:HTMLの場合レンダリング出力形式(HTML、JSON、XML)はパラメータによって異なりますか?
:JSONのために
http://localhost:9000/user/get/5?v=HTML // should render HTML template
:
http://localhost:9000/user/get/5?v=JSON // should render JSON template
私はリクエストインターセプタは、これを達成する能力を持っている可能性があることと思いますが、私はどのように見当もつかない開始する場所または開始する場所:-(
またはおそらく、一般的なrender method
要求通りにパラメータと出力を読み込みますが、これは私には過剰殺人のようですか?
public static Result userAsHtml(Long id) {
return ok(someView.render(User.find.byId(id)));
}
public static Result userAsJson(Long id) {
return play.libs.Json.toJson(User.find.byId(id));
}
ルート:次の
/GET /user/get/:id/html controllers.YourController.userAsHtml(id:Long)
/GET /user/get/:id/json controllers.YourController.userAsJson(id:Long)
あなただけの他のビュー内のリンクを作ることができますが、私はJavaのサンプルを使用する指定していないよう
よろしくお願いします。しかし、HTMLフォームやJSONオブジェクト(リクエストから)に基づいてJavaオブジェクトにバインドする方法は、if/elseステートメントで実装する必要がありますか?または、 'bindFromRequest'が両方を提供しますか? – adis
'bindFromRequest'は、クエリ文字列とリクエスト本体(JSON、URL形式のエンコードなど)を使用します。 –