API用のモダンなクエリ言語であるGraphQLとRuby on Railsの組み合わせは、効率的なAPI開発のための強力な組み合わせです。このクイックガイドでは、Ruby on RailsアプリケーションでGraphQL APIをセットアップするための重要なステップを説明し、効率的で柔軟なWeb開発のための強固な基盤を提供します。
ステップ1: 新しいRailsプロジェクトを作成する
バッシュ
rails new graphql_examplecd graphql_example
ステップ2:必要なgemをGemfileに追加する
以下の宝石を ジェムファイル:
ルビー
gem 'graphql'gem 'graphiql-rails', group: :development
走る バンドルインストール をクリックして新しいジェムをインストールする。
ステップ3:GraphQLスキーマの作成
という名前のファイルを作成する。 app/graphql/types/query_type.rb:
ルビー
# app/graphql/types/query_type.rbTypes::QueryType = GraphQL::ObjectType.define do
name 'クエリー'
説明 'ルートクエリタイプ'
フィールド :hello do
タイプ type.String
説明 'フィールドの例'
resolve ->(_obj, _args, _ctx) { 'Hello, GraphQL!}
終わり
終わり
ステップ4:GraphQLコントローラーの作成
GraphQLクエリを処理するコントローラを生成する:
バッシュ
rails generate controller graphql execute
の内容を置き換える。 app/controllers/graphql_controller.rb 以下のように:
ルビー
# app/controllers/graphql_controller.rbclass GraphqlController < ApplicationController
def execute
変数 = ensure_hash(params[:変数])
クエリー = params[:query]
操作名 = params[:operationName]
コンテキスト = {
# current_userやsessionなど、必要なコンテキスト値をここに追加する。
}
result = Schema.execute(query, variables: variables, context: context, operation_name: operation_name)
json をレンダリングする: 結果
終わり
プライベート
def ensure_hash(変数)
ケース変数
文字列
JSON.parse(変数) || {}.
ハッシュ
変数
nilのとき
{}
それ以外
raise ArgumentError, "無効な変数:#{変数}"
終わり
終わり
終わり
ステップ5:GraphQLスキーマを作成する
という名前のファイルを作成する。 app/graphql/schema.rb:
ルビー
# app/graphql/schema.rbスキーマ = GraphQL::Schema.define do
クエリ(Types::QueryType)
# 必要に応じて変異型を追加する。
終わり
ステップ6:ルートを設定する
更新 config/routes.rb にGraphQLエンドポイントを含める:
ルビー
# config/routes.rbRails.application.routes.draw は実行します
post '/graphql', to:'graphql#execute'。
if Rails.env.development?
mount GraphiQL::Rails::Engine, at:'/graphiql'、graphql_path: '/graphql'
終わり
終わり
ステップ7: Railsサーバーの実行
バッシュ
レール
訪問 http://localhost:3000/graphiql をブラウザに追加して、GraphQLを探索するためのブラウザ内IDEであるGraphiQLを使用する。
GraphiQLインターフェイスでは、次のようなクエリを入力できる:
グラフエル
{こんにちわ
}
そして返事が来るはずだ:
json
{"data":{
"hello":"こんにちは、GraphQL!"
}
}
これは単純な例だが、アプリケーションのニーズに合わせて、より多くの型や変異でGraphQLスキーマを拡張することができる。
結論
このクイックセットアップガイドに従うことで、GraphQLをRuby on Railsプロジェクトにシームレスに統合できるようになります。GraphQL のパワーを利用して、優れた開発者とユーザーエクスペリエンスを提供しながら、アプリケーション固有のニーズに応える API を作成しましょう。Ruby on Rails での GraphQL のシンプルさと柔軟性を利用して、API 開発のゲームを向上させましょう。あなたの会社のデジタルプレゼンスを高める 一流のRuby on Rails開発者 から レールカーマ.経験豊富なプロフェッショナルが豊富な経験と革新的な技術を駆使し、お客様のプロジェクトがシームレスに実行されるだけでなく、業界標準を上回ることをお約束します。