5章GraphQLサーバーの実装

これまでに、APIの歴史について学び、クエリの実行方法について学び、スキーマを作成する方法について学びました。いよいよ充実した機能を持ったGraphQLのサービスを実装できます。GraphQLのサービスはどのような言語でも実装できますが、ここではJavaScriptを使用します。もちろん、ここで紹介する技術はどの言語でも適用できるものです。実装の詳細が多少異なっていたとしても、アーキテクチャの全体像は言語やフレームワークに依存しません。

他の言語のサーバー用のライブラリに興味があれば、GraphQL.org(http://graphql.org/code/)を参照してください。

GraphQLの仕様書は2015年の公開以来、クエリ言語と型システムの明瞭な説明を心がけています。サーバーの実装については意図的に抽象化されており、好きな言語を用いることができるようになっています。Facebookのチームは参考用にJavaScriptで実装されたGraphQL.jsという実装を提供しています。さらに、express-graphqlというExpressでGraphQLのサーバーを実装するためのシンプルなライブラリを提供しています。

私たちはJavaScriptによるGraphQLサーバーの実装手法を検討し、Apollo Serverhttps://www.apollographql.com/docs/apollo-server/v2/)を用いることを決めました。Apollo ServerはApolloチームが開発したオープンソースのソフトウェアで、非常にシンプルにセットアップできる上、本番環境に投入できる水準の機能を多く提供しています。代表的な機能としては、サブスクリプションのサポート、ファイルのアップロード、既存のサービスのAPIからデータを取得する機能、そしてクラウドサービスのApollo ...

Get 初めてのGraphQL ―Webサービスを作って学ぶ新世代API now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.