Utilizando cURL puedo enviar una solicitud GET con un cuerpo. Ejemplo:HTTPBuilder establece requestBody en el método GET
curl -i -X GET http://localhost:8081/myproject/someController/l2json -H "content-type: application/json" -d "{\"stuff\":\"yes\",\"listThing\":[1,2,3],\"listObjects\":[{\"one\":\"thing\"},{\"two\":\"thing2\"}]}"
Aquí está el JSON en un formato razonable para el bien de la legibilidad:
{"stuff":"yes",
"listThing":[1,2,3],
"listObjects":[{"one":"thing"},{"two":"thing2"}]}
Normalmente -d
le dirá cURL para enviar un correo y no he confirmado que el -X GET
está reemplazando y está enviando GET. ¿Es posible replicar esto con HTTPBuilder?
he hecho:
def http = new HTTPBuilder('http://localhost:8081/')
http.post(path:'/myproject/myController/l2json', body:jsonMe, requestContentType:ContentType.JSON) { resp ->
println "Tweet response status: ${resp.statusLine}"
assert resp.statusLine.statusCode == 200
}
que trabaja, pero si cambio .post
a .get
me sale el error:
Cannot set a request body for a GET method. Stacktrace follows:
Message: Cannot set a request body for a GET method
Line | Method
->> 1144 | setBody in groovyx.net.http.HTTPBuilder$RequestConfigDelegate
¿Hay una manera de enviar un GET con un cuerpo de solicitud utilizando HTTPBuilder?