POST mit HTTPBuilder -> NullPointerException?
Ich versuche zu machen einen einfachen HTTP-POST-Anforderung, und ich habe keine Ahnung, warum das folgende nicht. Ich habe versucht, nach dem Beispiele hier, und ich sehe nicht, wohin ich gehe falsch.
Ausnahme
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
}
}
[]
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe festgestellt, dass es notwendig ist, um die Art des Inhalts vor der Vergabe des Körpers. Dies funktioniert für mich, mit groovy 1.7.2:
send URLENC, [string1: "", string2: "heroes"]
funktioniert auch, aber macht es schwieriger, unit-test, wenn die Verspottung HTTPBuilder.Dies funktioniert:
Wenn Sie ausführen müssen, einen BEITRAG mit contentType JSON und pass ein Komplexes json-Daten, versuchen zu konvertieren, Ihren Körper manuell: