简介
Apollo Server 是一个用于构建 GraphQL API 的开发工具包,它可以用于多种前端和后端技术栈,非常灵活。
本文将介绍如何使用 Apollo Server 构建 GraphQL API,并分享一些最佳实践。
快速开始
为了开始使用 Apollo Server,需要先安装它:
--- ------- -------------
然后在你的项目中引入它:
----- - ------------- --- - - -------------------------
接下来,你需要定义你的 schema 和数据源,例如使用硬编码的数组作为数据源:
----- ----- - - - ------ ---- ----------- ------- ----- -------- -- - ------ ----- -- ------- ------- ----- -------- -- -- -- -- ------ ----- -------- - ---- ---- ---- - ------ ------ ------- ------ - ---- ----- - ------ ------ - -- -- -- -------- ----- --------- - - ------ - ------ -- -- ------ -- --
最后,创建一个 Apollo Server 实例并启动它:
----- ------ - --- -------------- --------- ---------- --- ----------------------- --- -- -- - ------------------- ----- -- --------- ---
现在你就可以访问你的 API 了,比如在浏览器中打开 http://localhost:4000/
,你应该会看到类似于以下的输出:
- ------- - -------- - - -------- ---- ----------- --------- ----- ------- -- - -------- ----- -- ------- --------- ----- ------- - - - -
最佳实践
使用 DataLoader
如果你的数据源是比较大的,你可能需要使用 DataLoader 来批量加载数据并减少请求次数。
----- ---------- - ---------------------- ----- ------------- - --- ----------------- -- - ----- --------- - --- ------------------------ -- - -------------------- - ------- --- ------ -------------- -- ---------------- --- ----- --------- - - ----- - -- -------- ------- ------ -- ---------------------------------- -- --
处理错误
当接口请求失败时,我们需要将错误信息返回给客户端以便他们处理。在 Apollo Server 中,默认情况下,如果 resolver 抛出了错误,它会被返回给客户端。
----- --------- - - ------ - ----- -------- ----- -- - -- ----------- ----- --- ----------- ---- -- ---------- --- -------- -- -- --
如果你想自定义错误处理方式,你可以添加 formatError
选项:
----- ------ - --- -------------- --------- ---------- ------------ ------- -- - ------------------- ------ ------ -- ---
实现订阅
Apollo Server 支持实时订阅,你可以使用 graphql-subscriptions
库来实现它。
----- - ------------- --- - - ------------------------- ----- - ------ - - --------------------------------- ----- ------ - --- --------- ----- -------- - ---- ---- ---- - ------ ------ ------- ------ - ---- ------------ - ---------- ---- - -- ----- --------- - - ------------- - ---------- - ---------- -- -- ------------------------------------- -- -- -- ----- ------ - --- -------------- --------- ---------- --- ----------------------- --- -- -- - ---------------------- -- --------- -------------- -- - ---------------------------- - ---------- - ------ ----- -------------------------- - ------- ------- ---------- -- --- -- ------ ---
结论
Apollo Server 是一个非常好用和灵活的工具包,有了它,我们可以很方便地构建和管理 GraphQL API。本文介绍了使用 Apollo Server 的基本方法和一些最佳实践,希望对你有所帮助。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/66ee95426fbf96019724e714