このエントリは Craft CMS Advent Calendar 2019 8日目のエントリーです。
昨日は「Craft CMS で入力タイプやセクションを複製したいときに使える Cloner プラグイン」でした。
Craft CMS では 3.3 (Pro版に限定)から GraphQL が CMS 側で対応された。
Craft 3.3 Released with GraphQL and Headless Mode | Craft CMS
https://craftcms.com/blog/craf...
GraphQL はざっくりいうと REST API みたいなものと考えるといいとは思う。
僕のスキルレベルではそのような認識。
GraphQL と REST API を比較してくれている記事もいくつかある。
Craft CMS では REST API については Element API プラグインがファーストパーティのプラグインとして提供されている。
Element API
https://plugins.craftcms.com/e...
Element API で大体のことはできるので使い方としては Element API を使うのでも問題ないと思う。
Headless と Craft Cloud を見据えての GraphQL?
Headless CMS として使われることも想定されていて、Headless Mode も提供されている。
General Config Settings | Craft 3 Documentation
https://docs.craftcms.com/v3/c...
これが将来的には Craft Cloud の提供に繋がっていくと思われる。
Craft Cloud
https://craft.cloud/
GraphQL は1つのリクエストで色々なデータを取得したり、データの登録や更新、削除などができる。
データの登録・更新・削除、いわゆる CRUD の CUDあたりは Mutation と呼ばれるが Craft CMS では 4.0 でサポート予定となっている。
FR: GraphQL support on Mutation · Issue #4835 · craftcms/cms
https://github.com/craftcms/cm...
なので現時点ではデータを取得してサイトで表示するという使い方ができる。
3.3 の時点では CraftQLプラグインを使う選択肢もあり
一方、 Craft CMS 自体が GraphQLをサポートする前からある CraftQL プラグインはこの辺の Mutation も対応している。
CraftQL
https://plugins.craftcms.com/c...
2020年にリリースされる予定の Craft 4.0 以前で Mutation を使いたい場合はこのプラグインを使うという選択肢になる。
簡単ではあるが引き続き Craft CMS で GraphQLを使って見た内容などを書いていこうと思う。