で使用アレイ[文字列]私はこのようなURLを生成します:?プレイフレームワーク2:ルート
/写真をタグ= TAG1、TAG2、TAG3
ルートファイル:
GET /photo controllers.Photos.list(tags:Array[String] ?= "")
は私がプレイコンソールでこのエラーを得た:
ありません配列型のQueryStringバインダーが見つかりました[String]
これを達成する最も良い方法は何ですか?
ありがとうございました。
で使用アレイ[文字列]私はこのようなURLを生成します:?プレイフレームワーク2:ルート
/写真をタグ= TAG1、TAG2、TAG3
ルートファイル:
GET /photo controllers.Photos.list(tags:Array[String] ?= "")
は私がプレイコンソールでこのエラーを得た:
ありません配列型のQueryStringバインダーが見つかりました[String]
これを達成する最も良い方法は何ですか?
ありがとうございました。
私はあなたが共通String
を使用して、あなたのcontroller
ルートでArray
への変換について世話をするべきだと思います。Javaで
GET /photo controllers.Photos.list(tags:String ?= "")
:
public static Result list (String tags){
String[] tagsArray = tags.split(",");
// do something with tagsArray
return ok();
}
プレイ値がクエリ の同じ名前の文字列またはポストデータにある場合、配列の/リストにバインドされます。
これも動作するように思われる:
This route: http://localhost/controller/{id}
このURL:http://localhost/controller/1?id=2&id=3
は、ID controller(int[] id)
に結合する - > {1、2、3}
転記ID = 2 & ID = 3も配列にバインドされます。リストの代わりに、アレイは動作するはずを使用
https://groups.google.com/forum/?fromgroups#!topic/play-framework/c5kB6wmcF8Q:
参照。
は、Javaを使用している場合、それはこのように動作します:あなたはlong配列を渡したい場合はさておき、この作品のよう
GET /photo controllers.Photos.list(tags: java.util.List[String])
私はこれを数時間探しました! List [String]を使用することはできません。それはデフォルトでスカラ型を使用します! 次の例外が表示されます。 タイプの不一致。 が見つかりました:リスト[文字列](scala.collection.immutable内) 必須:リスト[_](java.util内) 完全なパッケージ名を使用するのが正しい方法です –
:と
GET /photo controllers.Photos.list(tags: java.util.List[java.lang.Long])
をコントローラ機能を引数としてList<Long> tags
とする。
私は理解していることから、(タグのタグとタグ=タグ2&タグ= tag3 ...それは少し冗長ですが、仕様はそのような繰り返しを可能にする –