𝗖𝗼𝗹𝗱𝗙𝘂𝗹𝘀𝗶𝗼𝗻 𝗚𝗥𝗔𝗣𝗛𝗤𝗟 𝘃𝘀 𝗥𝗘𝗦𝗧

ColdFusionの開発者は、APIを構築する際に特有の選択を迫られます。ほとんどのガイドはGraphQLとRESTを一般論として比較していますが、ColdFusionがそれらをどのように異なる方法で扱うかについては触れていません。

RESTはColdFusionにおいてネイティブな機能です。cfcomponent rest="true"を使用することで、簡単にREST APIを構築できます。また、cfhttpを使用してそれらを利用できます。追加のツールなしで、クライアントとサーバーの両端で動作します。

GraphQLはColdFusionでは動作が異なります。それは非対称です。

ColdFusion 2023では、ネイティブのGraphQLクライアントが導入されました。getGraphQLClient()を使用して、GitHubやShopifyなどの外部サービスと通信できます。これはデータの取得に非常に適しています。

しかし、ColdFusionはGraphQLをネイティブに提供(serve)する機能は持っていません。自分のデータをGraphQLエンドポイントとして簡単に公開することは、まだできません。Adobeは将来的にこの機能を追加する計画を立てています。

現在、ColdFusionでGraphQLサーバーを構築するには、自分自身で実装を行う必要があります。以下のものが必要です:

  • Resolver CFCs
  • graphql-javaのようなJavaライブラリ
  • またはサードパーティ製のCFML実装

注:ネイティブのGraphQLクライアントにはAdobe ColdFusion 2023以降が必要です。Luceeでは動作しません。

選択は目的によって決まります。

  • APIを迅速に構築し、公開したい場合はRESTを使用してください。
  • 外部サービスからデータを取得する必要がある場合はGraphQLを使用してください。

現在のプラットフォームの制限に適したツールを選択してください。

ソース: https://dev.to/deepak_sir__/coldfusion-graphql-vs-rest-when-each-api-style-fits-your-architecture-2bjc

オプションの学習コミュニティ: https://t.me/GyaanSetuAi