GraphQL, ett modernt frågespråk för API:er, i kombination med Ruby on Rails, erbjuder en kraftfull kombination för strömlinjeformad API-utveckling. I den här snabbguiden går vi igenom de viktigaste stegen för att ställa in ett GraphQL API i en Ruby on Rails-applikation, vilket ger dig en solid grund för effektiv och flexibel webbutveckling.
Steg 1: Skapa ett nytt Rails-projekt
våldsamt slag
rails ny graphql_examplecd graphql_example
Steg 2: Lägg till nödvändiga ädelstenar i din Gemfile
Lägg till följande ädelstenar i din Gemfil:
rubin
pärla 'graphql'gem 'graphiql-rails', group: :utveckling
Springa paketinstallation för att installera de nya ädelstenarna.
Steg 3: Skapa ett GraphQL-schema
Skapa en fil med namnet app/graphql/types/query_type.rb:
rubin
# app/graphql/types/query_type.rbTypes::QueryType = GraphQL::ObjectType.define do
namn "Fråga
description "Rotfrågetyp
fält :hello do
typ typer.String
description "Ett exempel på ett fält
resolve ->(_obj, _args, _ctx) { "Hej, GraphQL! }
slutet
slutet
Steg 4: Skapa en GraphQL-kontroller
Skapa en controller för att hantera GraphQL-frågor:
våldsamt slag
rails generera controller graphql exekvera
Ersätt innehållet i app/controllers/graphql_controller.rb med följande:
rubin
# app/controllers/graphql_controller.rbklass GraphqlController < ApplikationsController
def utföra
variabler = ensure_hash(params[:variabler])
query = params[:query]
operation_name = params[:operationName]
sammanhang = {
# Lägg till eventuella nödvändiga kontextvärden här, t.ex. current_user eller session
}
result = Schema.execute(query, variabler: variabler, kontext: kontext, operation_name: operation_name)
rendera json: resultat
slutet
privat
def säkerställa_hash(variabler)
fallvariabler
när Sträng
JSON.parse(variabler) || {}
när Hash
variabler
när nil
{}
annan
raise ArgumentError, "Ogiltiga variabler: #{variabler}"
slutet
slutet
slutet
Steg 5: Skapa GraphQL-schema
Skapa en fil med namnet app/graphql/schema.rb:
rubin
# app/graphql/schema.rbSchema = GraphQL::Schema.define do
query(Typer::QueryType)
# Lägg till mutationstyper vid behov
slutet
Steg 6: Konfigurera rutter
Uppdatera din config/routes.rb för att inkludera GraphQL-slutpunkten:
rubin
# config/routes.rbRails.application.routes.draw gör
post '/graphql', till: 'graphql#execute'
om Rails.env.utveckling?
mount GraphiQL::Rails::Engine, at: '/graphiql', graphql_path: '/graphql'
slutet
slutet
Steg 7: Kör din Rails-server
våldsamt slag
räls s
Besök http://localhost:3000/graphiql i din webbläsare för att använda GraphiQL, en IDE i webbläsaren för att utforska GraphQL.
I GraphiQL-gränssnittet kan du ange en fråga som:
graphql
{hej
}
Och du bör få ett svar:
json
{"data": {
"hello": "Hej, GraphQL!"
}
}
Detta är ett enkelt exempel, men du kan utöka ditt GraphQL-schema med fler typer och mutationer för att passa din applikations behov.
Slutsats
Genom att följa denna snabbinstallationsguide kommer du att vara väl rustad för att integrera GraphQL i dina Ruby on Rails-projekt sömlöst. Utnyttja kraften i GraphQL för att skapa API:er som tillgodoser din applikations specifika behov samtidigt som du ger en utmärkt utvecklar- och användarupplevelse. Gör dig redo att höja ditt API-utvecklingsspel med enkelheten och flexibiliteten hos GraphQL i Ruby on Rails. Höj ditt företags digitala närvaro med Ruby on Rails-utvecklare på högsta nivå från RailsCarma. Våra erfarna medarbetare bidrar med en mängd erfarenheter och innovationer och ser till att dina projekt inte bara genomförs sömlöst utan även överträffar branschstandarderna.