GraphQL的优点相关备忘录

这是摘录和翻译。

    • オーバーフェッチの回避

必要なフィールドを正確に指定できるため、必要以上のデータのフェッチを回避できます。

複数のAPI呼び出しを防ぐ

より多くのデータが必要な場合は、APIへの複数の呼び出しを回避することもできます。

API開発者との通信オーバーヘッドの削減

必要なデータを正確に取得するために、特により多くのデータを取得する必要があり、複数のAPI呼び出しを回避したい場合は、API開発者に新しいAPIの作成を依頼する必要があります。GraphQLを使用すると、作業はAPIチームから独立され、アプリ側の開発作業が速くなります。

自己文書化

すべてのGraphQL APIは、グラフデータモデルである「スキーマ」と、クライアントが実行できるクエリの種類に準拠しています。これにより、コミュニティはAPIを探索して視覚化するための多くの優れたツールを構築したり、GraphQLクエリをオートコンプリートしたり「codegen」を実行したりするIDEプラグインを作成したりできます。

超载还是欠载是什么意思?

请为“那个房子是谁的?”提供一个中文本地化的表达方式。

什么是过取和欠取?
我偶尔会玩一下GraphQL。在用GraphQL之前,我通常使用REST API。很多开发者表示GraphQL可以解决REST的一些问题(比如过取和欠取)。我对这个术语感到困惑。

你能解释一下在这个情境中有什么被取得得太多和有什么是不足的吗?

Chinese sentence structure:

只需要一种选项。

Translation:

只需要一种选项。

过度获取(オーバーフェッチ)是指获取过多的数据。换句话说,响应中包含了未使用的数据。
欠取(アンダーフェッチ)是指在调用端点时没有足够的数据,需要调用第二个端点。
这两种情况都是性能问题。它们要么使用了过多的带宽,要么创建了过多的HTTP请求。

在完美的世界中,这些问题永远不会发生。您将拥有准确的端点,以提供准确的数据给您的产品。
这些问题通常在对产品进行扩展和迭代时发生。在页面上使用的数据经常发生变化,并且为了保持每个组件都使用准确且适当的数据而维护各个独立的端点的成本太高。
因此,达到一个妥协点是确保端点不过多,并使端点最适合每个组件的需求。这样一来,有时会发生过度获取(提供比特定组件所需数据更多的数据)或某些组件发生欠取(需要调用第二个端点)的情况。
GraphQL可以解决这个问题,因为它可以请求所需数据,一次与服务器交互获取数据,并且只获取这些数据。

广告
将在 10 秒后关闭
bannerAds