Int、Long、String などを渡すように、Map または List を関数で渡すことができるかどうかを知りたかったのですか? はいの場合、マップがある場合はどうなりますか?
play 2.0.4 を使用しています。
Int、Long、String などを渡すように、Map または List を関数で渡すことができるかどうかを知りたかったのですか? はいの場合、マップがある場合はどうなりますか?
play 2.0.4 を使用しています。
いくつかの暗黙のクエリ バインダーを定義しない限り、2.0.4 にはありません。Play 2.1+ では、ジェネリック リスト (つまりList[T]
) のクエリ バインダーが定義されています。リポジトリから実装をコピーしてプロジェクトに貼り付けることができます (私が行ったように - この質問と回答を参照してください)。
あなたの質問は少し不明確ですが、あなたはPlay/conf/routes
ディスパッチメカニズムを参照していると思います。ここで、次のようなルートステートメントがあります。
GET /hello/:id controllers.Application.hello(id: Int)
id
(または何でも)に解析され、アクションInt
に渡されるようにコンパイルされます。hello
さらに推測すると、クエリ文字列("a=1&b=2"
toMap("a" -> "1", "b" -> "2"
など)を解析し、それをパラメータとしてActionに渡すことをお勧めしMap[String, String]
ます。
これは不可能だと思います。クエリ文字列を参照するルートエントリを記述したり、正規表現を使用したりできますが、それではうまくいきません。GETリクエストのクエリパラメータにアクセスするrequest
には、アクションにパラメータを追加して、request.queryString