Est-il un moyen d'accéder à tous les paramètres de la demande, indépendamment de la méthode HTTP? J'ai versé sur de la documentation et de l'api sans trouver un moyen de Jouer Framework 2.0.
J'ai une recherche sur un site qui accepte les POST et GET. Le suivi personnalisé sur le site examine tous les paramètres passés à déterminer la bonne façon de stocker les données de suivi.
Dans le Jeu Framework 1.2.x, j'ai été en mesure d'accéder à des paramètres d'une requête dans un Contrôleur avec
request.params.get("keywords")
request.params.get("location")
request.params.all()
Avec Play Framework 2.0, ce n'est plus le cas. La Demande n'a plus la méthode de params
, seulement queryString
et queryString ne fonctionne qu'avec les OBTENIR et de ne pas POSTER.
Il n'est pas possible de définir tous les possibles de suivi paramètre dans le Contrôleur de l'Action, ils sont dynamiques.
Mise à JOUR: UNE manière de contourner ce problème est d'utiliser le Corps des Analyseurs.
Selon le type de contenu de la demande, l'analyseur est utilisé, par exemple, de l'application/formulaire-url-encodé vs application/json
C'est le brut Carte qui combine des paramètres POST et OBTENIR les paramètres, avec des paramètres prioritaires.
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