多端点 Graphql

Posted

技术标签:

【中文标题】多端点 Graphql【英文标题】:Multiple endpoints Graphql 【发布时间】:2020-10-06 20:40:07 【问题描述】:

我正在开发一个在 Web 浏览器上显示 .xml 和 .txt 文件列表的项目。使用 MERN Graphql 堆栈,是否可以有两个不同的端点,例如 http://localhost/xml 和 http://localhost/txt。大多数文档都说 Graphql 使用单个端点“/graphql”因此询问。

【问题讨论】:

【参考方案1】:

您可以启动两个 GraphQL 服务器以在一个 Express 应用程序中为两个端点提供服务。但在您的特定用例中,不要;这是一种反模式。 GraphQL API 旨在基于一个单一的根端点。所有查询的详细信息都应由选择集和/或参数表示,而不是由 REST API 典型的端点表示。在您的情况下,正确的 GraphQL 查询应如下所示:

 query 
   listFiles(ext: "xml")   
     name
     modified
   
 

您的架构可能如下所示:

type Query 
  listFiles(ext: String): [File]

然后使用listFiles 解析器执行逻辑以根据给定参数检索列表。

【讨论】:

如果 Graphql 服务于一个端点,那么我将如何在我的网页上分离 xml 和 txt 文件? @user210912 listFiles(ext...) 表示 listFiles 解析器将有一个 [passed as 2nd arg] 参数/arg 命名为 ext

以上是关于多端点 Graphql的主要内容,如果未能解决你的问题,请参考以下文章

php Laravel中的多格式端点

调用在多模块弹簧项目中打包为 jar 的休息端点

Quarkus项目曾经覆盖多模块形式,当击中现有端点时得到404

WireShark快速多端点数据捕获

如何在不使用 AWS 53 端点域或任何其他域的 ssl 的情况下使用多容器 docker 在 elasticbeanstalk 中启用 https?

Subsequence HDU - 3530