Creare un client GraphQL in Ruby
In questo articolo vediamo come creare un semplice client GraphQL in Ruby.
Come "server" useremo QraphQLPlaceholder.
Se ho capito bene non esiste una libreria specifica per Ruby, quindi useremo net/http standard.
Ecco il codice:
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("https://graphqlplaceholder.vercel.app/graphql")
query = <<~GQL
query ListaUtenti {
users {
id
name
email
}
}
GQL
request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
request.body = { query: query }.to_json
puts "Invio della query GraphQL in Ruby..."
begin
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
if response.code == "200"
result = JSON.parse(response.body)
users = result["data"]["users"]
puts "Dati ricevuti correttamente!"
puts "--- Lista Utenti (#{users.length} risultati) ---"
users.each do |user|
puts "ID: #{user['id']} | Nome: #{user['name'].ljust(20)} | Email: #{user['email']}"
end
puts "----------------------------------------------"
else
puts "Errore del server: #{response.code}"
puts response.body
end
rescue => e
puts "Si è verificato un errore: #{e.message}"
end
Enjoy!
ruby graphql qraphqlplaceholder
Commentami!