14

次のようなURLを生成したい:

/photo?tags=タグ1,タグ2,タグ3

ルートファイル:

GET     /photo  controllers.Photos.list(tags:Array[String] ?= "")

Play コンソールで次のエラーが発生しました。

Array[String] 型の QueryString バインダーが見つかりません

これを達成する最良の方法は何ですか?

ありがとう。

4

4 に答える 4

23

値がクエリ文字列にある場合、または同じ名前のデータを投稿する場合、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

于 2012-07-02T14:13:56.043 に答える
11

配列の代わりにリストを使用するとうまくいくはずです。

Java を使用している場合は、次のように動作します。

GET     /photo  controllers.Photos.list(tags: java.util.List[String])
于 2014-11-15T20:21:20.533 に答える
9

コモンを使用し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();
}
于 2012-07-02T09:44:20.783 に答える