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エンジニアをしています。料理とビールと中国茶が好きです。

yana-giのアバター画像