在现代应用程序中,后端数据扮演着十分重要的角色。要在前端处理此数据,需要使用数据提供者。apollo-datasource就是一个可以让您轻松地构建数据提供者的npm包。
在本文中,我们将讲解apollo-datasource的安装、使用、包括示例代码和指导意义。
安装
如果您已经有了一个Node.js项目,请使用npm来安装apollo-datasource。
npm install apollo-datasource
这将会从npm仓库下载apollo-datasource应用程序和其他必要的依赖项。
使用
数据源类
在使用apollo-datasource之前,您需要创建一个可用的数据源。数据源可以是API、数据库、CRM等等。
让我们快速看一些示例代码,以了解如何创建数据源类。
-- -------------------- ---- ------- ----- - ---------- - - ----------------------------- ----- ----- ------- ---------- - ------------- - -------- - -- --- ------- --- -- ------- ---- - -------------- - ------展开代码
在这里,我们通过继承DataSource类并在该类的constructorsuper调用中,定义了一个名为MyAPI的API类。我们不必在API类中做太多事情,因为它只是让我们定义一些方法。
然后,您可以定义任意数量的方法,并将其与调用者通信。我们可以使用REST API或GraphQL来完成这项工作,具体取决于您的项目。
对于这个例子,我们定义了MyAPI这个数据源,但是我们不会在这里实现API方法。
ApolloServer
一旦您有了一个API类,您可以将它与ApolloServer一起使用它来创建一个API端点。这是示例代码。
-- -------------------- ---- ------- ----- - ------------- --- - - ------------------------- ----- ----- - -------------------- ----- -------- - ---- ---- ----- - ------- -------- - -- ----- --------- - - ------ - ------- ------ ----- -------- -- -------------------------------------- -- -- ----- ------ - --- -------------- --------- ---------- ------------ -- -- -- ------ --- -------- --- --- ----------------------- --- -- -- - --------------- ------ ----- -- --------- ---展开代码
这段代码通过createMyAPI来创建了一个数据源,然后通过ApolloServer启动API。还定义了一个查询类型查询myData,它将由我们的API方法返回。
为了在应用程序中访问数据源,我们将其传递给ApolloServer。在这个配置对象中,你还会注意到我们的resolver调用了context.dataSources类的属性,因为我们把myAPI创建为数据源。
API方法
现在,我们需要在MyAPI数据源类中实现API方法。这是示例代码。
-- -------------------- ---- ------- ----- - -------------- - - ---------------------------------- ----- ----- ------- -------------- - ------------- - -------- ------------ - --------------------------------------- - ----- ----------- - ------ ---------------------------------- -- ------------------- -- ----------- -- - - -------------- - ------展开代码
RESTDataSource是一个带有内置重试逻辑的更高级抽象,可以与REST API配合使用。在这个例子中,getMyData方法是我们在MyAPI类中实现的唯一方法。
在这个方法中,我们使用“REST”数据源,调用API端点并返回结果。在这里,我们将结果从结果集/数组中映射到一个新数组中,只提取title。
这就是整个从安装,到创建数据源类,到使用apollo-datasource的全部过程。通过这些例子,你可以了解:apollo-datasource在Node.js应用程序中使用数据源的流程 是如何的。接下来,要做的事情就是开始使用apollo-datasource,并在您的项目中实现一个数据源类!
指导意义
使用apollo-datasource,您可以避免API使用过程中的重复代码。它是一个非常有用的工具,可以使您更高效地构建应用程序。在使用过程中,可以减少资源的重复使用和嵌套。
通过上面的代码,我们可以简单地看到如何将apollo-datasource与ApolloServer一起使用,并专门设置一个API类。因此,该npm包既有指导意义,也有深度和学习意义。
更多的示例代码和细节,请访问apollo官网:https://www.apollographql.com/docs/apollo-server/data/data-sources/
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/72739