Comment puis-je définir des paramètres de WS.post() jouer 2.1 Java
Je suis en train d'effectuer un post avec le jeu.l'api.libs.ws.WS, mais je ne peux pas comprendre
comment définir les paramètres, mon code:
Promise<Response> promise = WS.url(Play.application().configuration()
.getString("sms.service.url")).post();
.post prend (T corps, jouer.l'api.http.Inscriptible wrt, jouer.l'api.http.ContentTypeOf ct)
mais je ne comprends pas comment je dois passer les paramètres.
La documentation seuls les états:
Promise<WS.Response> result = WS.url("http://localhost:9001").post("content");
Comment puis-je définir le contenu par exemple. param1=foo et param2=bar?
double possible de Comment puis-je définir des en-têtes de WS.post() jouer 2.1 Java
OriginalL'auteur jakob | 2013-02-18
Vous devez vous connecter pour publier un commentaire.
Essayer de la construction de la requête comme ceci:
La méthode
url(java.lang.String url)
renvoie uneWS.WSRequestHolder
de référence qui peut être utilisé pour modifier la demande initiale à l'aide enchaîné les appels àsetQueryParameter
.Je l'ai essayé avec
.post("")
et cela a fonctionné ainsi. Je vais devoir courir avec Wireshark, plus tard, de comprendre exactement ce qu'il fait avec ce "contenu" des choses. Il est plus facile que de lire le code, au moins pour moi.quel est le contenu?
OriginalL'auteur Nishant Shreshth
Hmm, je suppose que je devrais vraiment commencer à regarder les importations de!
J'ai accidentellement à l'importation jouer.l'api.libs.ws.WS au lieu de l'importation de jouer.libs.WS;
Lors de l'utilisation de jouer.libs.WS toutes les méthodes telles que la poste(String String) et setContentType(String String) a révélé à eux-mêmes. Voilà comment j'ai fait:
sms.service.url
de l'installation, pour l'acceptation de cette demande un POST, puisque cette chaîne de caractères passée à la poste (param1=foo¶m2=bar
) n'est probablement pas correctement/strictement formaté comme un POSTE de charge utile.OriginalL'auteur jakob
Accepté la réponse est fausse, ou au moins trompeuse. Le code
affichera la chaîne
content
àhttp://localhost:9001/?param1=foo¶m2=bar
, ce qui est presque certainement pas ce que l'OP voulait. Ce qui est beaucoup plus susceptibles de travailler estquels sont les postes les forme
param1=foo¶m2=bar
à l'URLhttp://localhost:9001
, qui est généralement ce que le serveur veut.OriginalL'auteur Malvolio
Cette méthode utilise une méthode HTTP POST pour envoyer son formulaire de demande. Comme on le voit à partir de la documentation officielle du Jeu, vous devez avaient déjà connu de la méthode GET.
这种方式是使用post方式提交表单请求,见于play的官方文档,get方式的你应该已经知道了。
OriginalL'auteur Aaron Peng
Vous avez besoin pour passer à quelque chose qui peut être transformée en JSON sérialisé. Cela fonctionne pour moi:
La séquence prend un nombre quelconque de JsValues qui peut également être imbriquées à l'JsObjects.
OriginalL'auteur SilentDirge
pour moi la meilleure façon
Carte de http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/collect/ImmutableMap.html
http://code.google.com/p/guava-libraries/wiki/ImmutableCollectionsExplained
OriginalL'auteur quester
La bonne manière de faire la demande de blocage dans le jeu 2.1 est
Je l'ai essayé. Il fonctionne
OriginalL'auteur Amol Gaikwad