本記事ではNestJSでのGraphQLアプリ開発手法について紹介します。graphqlGraphQL開発手順NestJSでのGraphQL開発手法は二つのアプローチがあります。スキーマファーストアプローチコードファーストアプローチそれぞれのアプローチを実際にコードを使って説明していきたいと思います。スキーマファーストアプローチNestJSでは二つのアプローチからGraphQLアプリを開発することができ、一つはスキーマファーストなアプローチです。GraphQLModuleapp.module.tsを編集してGraphQLモジュールを追加します。{}GraphQLのスキーマファイルschema.graphqlを作成します。String}準備ができたのでアプリを立ち上げてみます。アクセスして確認します。以下のような設定をするとGraphQLスキーマを元にTypeScriptファイルが自動生成されるようになります。graphql.tsというファイルが自動生成されます。指定することclassで出力されるようになります。GraphQLDefinitionsFactoryこのままだとGraphQLスキーマ(schema.graphql)を変更する度に毎回アプリを再起動してtsファイルを更新しないといけないです。利用してスキーマの更新を検知してtsファイルを自動生成するよう設定を行います。オプションを指定することで.graphqlファイルの変更を検知してtsファイルを自動生成してくれます。generate-typings.tsで出力設定を書いているため、app.module.tsではその記述はいらなくなります。src/generate-typings.ts",..}}すると、以下コマンドで自動生成をwatchモードで動いてくれます。generate-typings今回はclassで出力するように設定したので、以下のようになります。string;}このように、スキーマファーストアプローチでは最初にスキーマを定義して、そこからコード(interface/class)が生成されます。生成されたコードからビジネスロジックやDBアクセスを組み立てていく流れになります。コードファーストスキーマファーストとは逆にコードを先に書いていき、それを元にスキーマを生成するという開発アプローチになります。いうライブラリが必要になりますのでインストールします。type-graphqlGraphQLModuleの設定も先ほどとは変わってきますので変更します。{}この設定でアプリ起動時に自分が書いたコードを元にGraphQLスキーマが自動生成されます。モジュールスキーマファーストアプローチで作成したスキーマと同じものを生成するように作っていきます。Todoモジュールを用意します。