Ruby: ¿Cómo puedo enviar una solicitud JSON usando la POST encintado?
Pregunta
¿Cómo puedo configurar el cuerpo de la petición de una solicitud de acera a ser mi cadena JSON? Estoy tratando de hacer una solicitud JSON usando la POST encintado.
Mi código:
require 'rubygems'
require 'curb'
require 'json'
myarray = {}
myarray['key'] = 'value'
json_string = myarray.to_json()
c = Curl::Easy.http_post("https://example.com"
# how do I set json_string to be the request body?
) do |curl|
curl.headers['Accept'] = 'application/json'
curl.headers['Content-Type'] = 'application/json'
curl.headers['Api-Version'] = '2.2'
end
Solución
La forma correcta de hacer esto es simplemente agregar el contenido después de la URL:
c = Curl::Easy.http_post("https://example.com", json_string_goes_here
) do |curl|
curl.headers['Accept'] = 'application/json'
curl.headers['Content-Type'] = 'application/json'
curl.headers['Api-Version'] = '2.2'
end
Esto establecerá el json_string ser el cuerpo de la solicitud.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow