POST avec HTTPBuilder -> NullPointerException?
Je suis en train de faire une simple requête HTTP POST, et je n'ai aucune idée pourquoi le suivant est un échec. J'ai essayé de suivre les exemples ici, et je ne vois pas où je vais mal.
Exception
java.lang.NullPointerException
at groovyx.net.http.HTTPBuilder$RequestConfigDelegate.setBody(HTTPBuilder.java:1131)
...
Code
def List<String> search(String query, int maxResults)
{
def http = new HTTPBuilder("mywebsite")
http.request(POST) {
uri.path = '/search/'
body = [string1: "", query: "test"]
requestContentType = URLENC
headers.'User-Agent' = 'Mozilla/5.0 Ubuntu/8.10 Firefox/3.0.4'
response.success = { resp, InputStreamReader reader ->
assert resp.statusLine.statusCode == 200
String data = reader.readLines().join()
println data
}
}
[]
}
OriginalL'auteur Stefan Kendall | 2010-05-12
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé qu'il est nécessaire de définir le type de contenu avant d'affecter le corps. Cela fonctionne pour moi, à l'aide de groovy 1.7.2:
send URLENC, [string1: "", string2: "heroes"]
, mais il est plus difficile de test de l'unité lorsque les moqueries HTTPBuilder.OriginalL'auteur ataylor
Cela fonctionne:
OriginalL'auteur Stefan Kendall
Si vous avez besoin d'exécuter un POST avec le contentType JSON et passer un complexe de données json, essayez de convertir votre corps manuellement:
OriginalL'auteur Carlos André Oliveira