概要
AndroidでGraphQLを採用したAPIへのリクエストにApollo GraphQL Client for Androidを利用する場合が多いと思います。
Apolloでは、.graphql
ファイルで定義したクエリからリクエスト処理で使用するコードを生成します。この時、schema.json
と呼ばれるGraphQLのスキーマ定義ファイルが必要になります。
GitHub GraphQL API v4のschema.jsonの取得
Androidプロジェクト向けの公式ドキュメントで解説されている方法がそのままでは実行できませんでした。apollo-codegen
はapollographql/apollo-toolingに統合されたようで使い方が変わっています。
Apollo CLIを使用したschema.jsonの取得
Apollo CLIをインストールし、apollo-codegenの代わりにapollo service:download
コマンドを使用します。
まずnpmでCLIをインストールします。
$ npm install -g apollo
そしてapollo service:download
を実行します。--endpoint
オプションでgraphqlエンドポイントを指定し、--header
オプションで認可情報を追加します。GitHubのPersonalアクセストークンは、SettingsのDeveloper settingsから取得しましょう。
GitHub GraphQL API v4のschema.jsonファイルの取得は、次のようなコマンドになります。
$ apollo service:download --endpoint https://api.github.com/graphql \
--header "Authorization: Bearer <GitHub personal access tokens>"
実行
以下のように表示されればOKです。
$ apollo service:download --endpoint https://api.github.com/graphql \
--header "Authorization: <GitHub personal access tokens>"
✔ Loading Apollo Project
✔ Saving schema to schema.json
apollo service:download
で指定できるオプションの詳細はこちらをご覧ください。