Talk
カスタムしながら理解するGraphQL Connection
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を用いてこれを実装する方法を説明します。
発表資料
Speaker
- yana-gi yana-gi のGithubページ
-
フィヨルドブートキャンプを卒業後、2022年からGMOペパボ株式会社でハンドメイドマーケットminneのWebエンジニアをしています。料理とビールと中国茶が好きです。