次のようなURLを生成したい:
/photo?tags=タグ1,タグ2,タグ3
ルートファイル:
GET /photo controllers.Photos.list(tags:Array[String] ?= "")
Play コンソールで次のエラーが発生しました。
Array[String] 型の QueryString バインダーが見つかりません
これを達成する最良の方法は何ですか?
ありがとう。
次のようなURLを生成したい:
/photo?tags=タグ1,タグ2,タグ3
ルートファイル:
GET /photo controllers.Photos.list(tags:Array[String] ?= "")
Play コンソールで次のエラーが発生しました。
Array[String] 型の QueryString バインダーが見つかりません
これを達成する最良の方法は何ですか?
ありがとう。
値がクエリ文字列にある場合、または同じ名前のデータを投稿する場合、play は配列/リストにバインドします。
これもうまくいくようです:
This route: http://localhost/controller/{id}
この URL:http://localhost/controller/1?id=2&id=3
where idにバインドしcontroller(int[] id)
ます -> {1, 2, 3}
id=2&id=3 を投稿すると、配列にもバインドされます。
参照: https://groups.google.com/forum/?fromgroups#!topic/play-framework/c5kB6wmcF8Q
配列の代わりにリストを使用するとうまくいくはずです。
Java を使用している場合は、次のように動作します。
GET /photo controllers.Photos.list(tags: java.util.List[String])
コモンを使用しString
てから、それを に変換することに注意する必要があると思いArray
ます。controller
ルート:
GET /photo controllers.Photos.list(tags:String ?= "")
Javaで:
public static Result list (String tags){
String[] tagsArray = tags.split(",");
// do something with tagsArray
return ok();
}