GraphQLとは?実例で学ぶ完全ガイド

GraphQL の完全入門ガイド。クエリ・ミューテーションの仕組み、REST との比較、実際に使い始めるための実践的なサンプルを解説します。

Read in: en
GraphQLとは?実例で学ぶ完全ガイド

概要

GraphQLの素振りをしていたので調べたことについてまとめておく。

親切なチュートリアルが用意されており、始めやすい。 cf. www.howtographql.com

GraphQLとは

Meta社によって開発されたWeb API開発のためのクエリ言語。

GraphQLはGraphQL Foundationによって管理されており、Meta社はその一員である。

GraphQLの仕様と全ての関連プロジェクトはOSSとして公開されている。

特徴

用語

いくつかピックアップしたものだけ記載。

Schema

クエリの型定義。

type Query {
  user: User
}

Query

データ取得のためのクエリ。

query {
  user {
	name
  }
}

Mutation

データ更新のためのクエリ。

mutation {
  updateUser {
	name
  }
}

Subscription

データの変更を監視するためのクエリ。

subscription {
  user {
	name
  }
}

Argument

クエリにわたす引数。

{
  user(id: 123) {
    username
    email
  }
}

関連技術

GraphQL Mesh

gRPC、OpenAPI、Swagger、oData、SOAP、GraphQL等々のAPI仕様で実装されたAPIへのゲートウェイサーバー(GraphQL Gateway)。

API仕様さえあればAPIに対してGraphQLクエリでアクセスできる。

cf. the-guild.dev

openapi-to-graphql

OpenAPIに基づいたAPI仕様をGraphQLのSchemaに変換する。

cf. github.com - IBM/openapi-to-graphql

graphql-tools

GraphQLのSchemaを作成するための便利ツール。モックを作成することもできる。

cf. github.com - ardatan/graphql-tools

GraphQL Gateway

パフォーマンス

所感

Restful APIと比較して始めるのに少し手間はかかりそうだが、得られる恩恵は大きそう。

GraphQLクライアントは色々種類があるようで、選定には悩みそう。

cf. user-first.ikyu.co.jp - あなたのプロダクトに Apollo Client は必要ないかもしれない

参考

Tags: GraphQL
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ サポート

このブログを応援していただける方は、以下からサポートをお願いします。いただいたサポートはブログ運営・技術研鑽に活用します。


関連記事