HTTPメソッドに関係なく、すべてのリクエストパラメータにアクセスする方法はありますか?私は、Play Framework 2.0で方法を見つけ出すことなく、ドキュメンテーションとAPIを書きました。Request.paramsはPlay Framework 2.0に含まれていません
私は、POSTとGETを受け付けるサイトで検索しています。サイト上のカスタムトラッキングは、トラッキングデータを格納する正しい方法を決定するために渡されたすべてのパラメータを調べます。プレイFrameworkの1.2.xので
、私はプレイフレームワーク2.0では
request.params.get("keywords")
request.params.get("location")
request.params.all()
とコントローラでリクエストからパラメータにアクセスすることができました、これはもはやケースです。 Requestはメソッドparams
を持たず、queryString
のみで、queryStringはPOSTではなくGETでのみ動作します。
可能なすべてのトラッキングパラメータをコントローラアクションに定義することは現実的ではありません。
UPDATE:周りの可能な作業はBody Parsersを使用しています。
要求のコンテンツタイプに応じて、適切なパーサーが使用されます。 アプリケーション/フォームURLエンコードVSアプリケーション/ JSON
これは、POSTパラメータを組み合わせて、GETパラメータが優先して用いて、パラメータをGET粗マップです。
val params: collection.mutable.Map[String, Seq[String]] = collection.mutable.Map()
params ++= request.body.asFormUrlEncoded.getOrElse[Map[String, Seq[String]]] { Map.empty }
params ++= request.queryString
アクション(parse.fooContentType){...}は、Bodyパーサーリンクのおかげで非常に役に立ちました! – virtualeyes
あなたの回答は、元の質問の編集ではなく、回答として分割する必要があります。 –
私は今すぐ働いている原油修正の代わりにAPIによってサポートされた適切な答えを期待していました – mguymon