合理使用GraphQL基于组件的API

在API的世界中,由于能够在单个请求中查询和检索所有必需的数据,所以API是我们开发者必学内容。更值得我我们关注的是GraphQL,它进一步增加了API可以从单个请求中获取的数据量。

API是应用程序从服务器加载数据的通信通道。使用API REST已经比较成熟的方法,但近来通过GraphQL显得黯然失色,其通过REST提供了重要的优势。REST需要多个HTTP请求来获取一组数据来呈现组件,而GraphQL可以在单个请求中查询和检索此类数据,并且响应将完全符合要求,而不会像通常发生的那样过度或欠读取数据休息。

当然可以通过自己定义的组件,然后扩展在GraphQL引入的单个请求中为多个实体获取数据的想法,并将其作为更进一步,即当REST获取一个资源的数据,并且GraphQL获取一个组件中所有资源的数据时,基于组件的API可以从一个页面中的所有组件获取所有资源的数据。

当网站本身是使用组件构建时,使用基于组件的API最有意义,即当网页迭代地由包装其他组件的组件组成时,在最顶层,我们获得表示页面的单个组件。

基于组件的API能够通过请求每个组件(以及页面中的所有组件)中的所有资源的数据向服务器发出单个请求,这是通过保持组件之间的关系来实现的API结构本身。

其中,这种结构具有以下几个好处:

具有许多组件的页面将仅触发一个请求而不是多个请求;

跨组件共享的数据只能从DB获取一次,并且只在响应中打印一次;

它可以大大减少 - 甚至完全删除 - 对数据存储的需求。

其实开发者中让我们探讨实际上是哪些组件以及如何基于这些组件构建站点,最后,探索基于组件的API如何工作,结合GraphQL在API方面的优势提高对网站API的请求,这是开发工作最具有实际意义的过程。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190121A1D0KW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券