为什么 Express(或其他集成)与 Apollo GraphQL Server 结合使用?

2023-11-25

我正在努力理解 Express(或 Koa、Hapi 等)与 Apollo GraphQL 服务器集成的附加值。

我发现它可以在独立模式下很好地工作(例如:https://medium.com/codingthesmartway-com-blog/apollo-server-2-introduction-efc4026f5654).

在什么情况下我们应该在集成(或不集成)的情况下使用它?是什么推动了这个决定?


如果您需要的只是 GraphQL 端点,那么使用独立库(apollo-server)通常是首选,因为需要编写的样板文件较少(订阅、文件上传等功能无需额外配置即可工作)。然而,许多应用程序需要除了公开单个 API 端点之外的附加功能。示例包括:

  • Webhooks
  • OAuth 回调
  • 会话管理
  • Cookie解析
  • 跨站请求伪造保护
  • 监控或记录请求
  • 速率限制
  • 地理围栏
  • 提供静态内容
  • 服务端渲染

如果您的应用程序需要此类功能,那么您将需要使用 Express 等 HTTP 框架,然后使用适当的集成库(即apollo-server-express).

Apollo Server 还包括无服务器解决方案 AWS Lambda 的集成。例如,如果您想采用无服务器来获得更好的可扩展性或消除系统管理成本,那么您还需要使用这些集成之一。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Express(或其他集成)与 Apollo GraphQL Server 结合使用? 的相关文章

随机推荐

  • 你怎么称呼自 Unix 纪元以来的“天数”?

    我最初了解到Unix时间是自1970年1月1日00 00 00 UTC 以来经过的秒数 一天有24小时 这意味着unix时间戳每天都会增长86400 然后我听说了闰秒的概念 并认为这意味着也许在某些日子里 unix 时间戳会在一天内增长 8
  • 使用 JavaScript 和 jQuery 的简单长轮询示例

    我正在尝试创建一个实时网站分析仪表板 该仪表板使用 jQuery JavaScript 异步创建到服务器的开放 HTTP 连接 以便在数据发生更新时轮询服务器 显而易见的开始是使用XMLHttpRequest对象或 jQuery 的 aja
  • 访问另一个子类中基类的受保护成员

    为什么会这样编译 class FooBase protected void fooBase void class Foo public FooBase public void foo Foo fooBar fooBar fooBase 但这
  • WcfSvcHost 和 IIS WCF 主机遇到 BadImageFormatException

    引用 x86 DLL 时 在 Vista x64 上的 Visual Studio 2008 中创建 WCF 服务库很麻烦 调用 32 位 DLL 的服务需要具有 x86 平台目标才能在 64 位操作系统上运行 执行此操作时 当您尝试调试服
  • Intel CPU 上原子 cmpxchg 指令的平均延迟

    我正在寻找有关各种英特尔处理器的锁定 cmpxchg 指令的平均延迟的一些参考 我无法找到有关该主题的任何好的参考资料 任何参考资料都会有很大帮助 Thanks 最好的 x86 指令延迟参考可能包含在Agner 的优化手册 基于对各种 In
  • 如何在 React.memo 中使用 Props 和泛型

    我正在尝试将以下内容转换为使用React memo interface Props
  • 线程“main”java.net.UnknownHostException中的java异常:测试:测试:未知错误操作系统ubuntu

    此错误与我之前的问题有关 我在该问题中遇到了错误InetAddress getLocalHost 我找到了一个建议添加一个条目 etc hosts myip localhost 127 0 0 1 localhost 127 0 1 1 t
  • Python 内存 zip 库

    是否有一个 Python 库允许在内存中操作 zip 存档 而无需使用实际的磁盘文件 ZipFile 库不允许您更新存档 唯一的方法似乎是将其提取到一个目录 进行更改 然后从该目录创建一个新的 zip 我想在不访问磁盘的情况下修改 zip
  • Javascript Highcharts v3.0.5 - 使用多个 Y 轴时如何隐藏 Y 轴标题

    使用 Highcharts v 3 0 5 时 我在同一个图表中显示多个 Y 轴 使用图例 用户可以根据需要选择隐藏或显示任何 Y 轴 所有这些都是 Highcharts javascript 库的内置功能 但是 当 Y 轴隐藏时 其标题在
  • Angular / Gulp 应用程序的模拟后端

    我想通过提供 json 响应来模拟后端 以便更快地开发 而不依赖于真正的后端 前端应用程序是一个 Angular 应用程序 我们使用 Gulp 作为开发和构建工具 例如 有一个特定的 api custumers 123 返回静态 json
  • 如何在组件之间共享数据/更改

    假设您有一个包含工具栏 侧边栏和网格的界面 工具栏有一个下拉菜单 当用户更改时 侧边栏和网格中的内容也会更改 回到 Angular 1 我会使用服务来获取所有动态数据 当服务发生变化时 使用该服务的所有组件也会更新 在 Angular 2
  • Android中访问资源文件

    我的 res raw 文件夹 res raw textfile txt 中有一个资源文件 我试图从我的 Android 应用程序中读取该资源文件进行处理 public static void main String args File fi
  • 奇怪的 SQLException:未找到列

    我在使用 JDBC 对数据库运行的函数上遇到了奇怪的 SQLException SQLException 未找到列 消息 我的函数中有这个 st con prepareStatement SELECT NotificationID User
  • numpy 平均值错误?

    我通常会进行大型模拟工作 有时 我需要计算粒子组的质心 我注意到在很多情况下 返回的平均值numpy mean 是错的 我可以看出这是由于累加器饱和造成的 为了避免这个问题 我可以将所有粒子的求和分解为一小组粒子 但这很不舒服 有人知道如何
  • 如何获取覆盖 hashCode() 的对象的唯一 ID?

    当Java中的类不重写时哈希码 打印此类的实例会给出一个很好的唯一编号 对象的 Javadoc 说哈希码 在相当实用的情况下 Object 类定义的 hashCode 方法确实为不同的对象返回不同的整数 但是当类覆盖时哈希码 我怎样才能得到
  • 实体类上是否等于和hashcode,这就是问题

    我一直在尝试推理处理在实体上实现 hashcode 和 equals 是否通常是良好实践的最佳方法 我指的是一般意义上的实体 但在大多数情况下它将是 JPA 实体 在 Hibernate 手册第 24 章中http docs jboss o
  • 使用 PHP 将 IP 解析为主机名

    如何使用 PHP 将 IP 地址解析为主机名 您可以使用获取主机地址 功能 hostname gethostbyaddr ipAddress
  • Azure DevOps API 添加公钥

    我希望能够通过 API 添加用于 SSH 访问 Azure DevOps 的公钥 但我似乎无法在 doco 中找到实现此操作的方法 通过 UI 手动执行此操作是不可行的 因为这适用于许多用户和许多项目 谢谢 API 没有记录 但是我们可以使
  • 如果 Dto 使用 MapStruct 有 Id,则将 dto 映射到从数据库检索的实体

    我在用着映射结构使dto lt gt entity映射 相同的映射器用于create and update来自 dtos 的实体 对 dto 的 id 进行验证 以了解是否必须创建新实体 id null 还是应从数据库检索新实体 id nu
  • 为什么 Express(或其他集成)与 Apollo GraphQL Server 结合使用?

    我正在努力理解 Express 或 Koa Hapi 等 与 Apollo GraphQL 服务器集成的附加值 我发现它可以在独立模式下很好地工作 例如 https medium com codingthesmartway com blog