カスタムしながら理解するGraphQL Connection
yana-gi • October 25, 2024 • Tokyo, Japan • Japanese • Talk
https://kaigionrails.org/2024/talks/yana-gi/
【発表概要】
GraphQLとは、クライアントが必要なデータだけを指定して取得できるデータクエリ言語及びランタイムです。Rubyではgraphql-rubyというライブラリを使うことでGraphQLを実装することができます。
ハンドメイドECサービスであるminneでは、主にAPIをRailsで実装しており、検索画面で表示される作品の取得をGraphQL APIで実装しています。また、minneでは検索エンジンにOpenSearchに加えて、別の検索エンジンも利用しており、検索結果を取得できるREST APIが提供されています。
今回はRailsアプリケーションでREST APIで返却される作品情報を取得し、クライアント用のGraphQL APIとして返却する実装しました。Active Recordから取得した結果をページネーションで返す実装に比べて、難しかった点・工夫した点を紹介します。
このセッションでは、実装するにあたってGraphQLの基本概念を説明した後、minneで検索エンジンのREST APIをバックエンドとしてGraphQLによるページネーションを実現した経験から、graphql-rubyを用いてこれを実装する方法を説明します。
【発表者】
yana-gi
GitHub https://github.com/yana-gi
Kaigi on Railsは、初学者から上級者までが楽しめるWeb系の技術カンファレンスです。
https://kaigionrails.org/
Kaigi on Rails 2024