Cómo escribir la receta correcta para una solicitud HTTP POST en Groovy.
Estoy tratando de escribir una receta para una solicitud HTTP POST en Groovy y la forma en que lo estoy haciendo es editando una receta anterior pero adaptándola a mis propias necesidades:
- Establecer dos propiedades de solicitud (Content-Type: application/json, Authorization: Bearer xxxxx)
- Establecer datos en bruto (json) ({“var1″: “valor 1”, “var2″: “valor 2”})
La receta que intento modificar es:
def baseUrl = new URL('http://some.url.com/')
def connection = baseUrl.openConnection()
connection.with {
doOutput = true
requestMethod = 'POST'
setRequestProperty(['Content-Type': 'application/json', 'Authorization': 'Bearer xxxx'])
outputStream.withWriter { writer ->
writer
}
println content.text
}
Al principio, al ejecutar el script, obtengo el siguiente error:
Excepción lanzada
java.io.IOException: El servidor devolvió un código de respuesta HTTP: 401 para la URL: http://some.url.com/
La otra cosa es que no sé cómo añadir la necesidad (2) al script.
Gracias de antemano.
davy.ai
Para modificar la receta de una solicitud HTTP POST en Groovy, siga estos pasos:
setRequestProperty
:outputStream.withWriter
:Asegúrese de escapar las comillas dobles alrededor de las claves y los valores en los datos JSON utilizando barras invertidas.
La receta modificada debería verse así:
Respecto al error
java.io.IOException
, parece que hay un problema con su autenticación. Asegúrese de estar utilizando el token correcto para el encabezado deAuthorization
.