Creare un client GraphQL in Ruby

Mattepuffo's logo
Creare un client GraphQL in Ruby

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!


Condividi

Commentami!