こんにちは。Eight事業部の古本です。Eightで"企業向けプレミアム"という企業内で名刺を共有できるサービスのサーバーサイドの開発・運用を主に行っています。 その企業向けプレミアムですが、去る2020年5月にバージョンアップが行われました。 そこでEightの中では初めてGraphQLを取り入れてAPI開発を行いました。 EightではRailsを採用しているためAPIといえばREST形式で書かれています。 そんな中で方式が異なるGraphQLを採用するということは、当初思い描いていた以上に様々な課題がありました。 この記事では、そこで起きた様々な課題とそれに対するアプローチや解決策などサーバーサイドの目線から述べたいと思います。 なぜGraphQLを導入することにしたのか 細かな理由はいくつかありますが、主に解決したかった課題は以下の2つです。 これ以上エンドポイントを増やしたくなか