我正在研究一个在Web浏览器上显示.xml和.txt文件列表的项目。使用MERN Graphql堆栈,可以有两个不同的端点,例如http://localhost/xml和http://localhost/txt。大多数文档都说Graphql使用单个端点“ / graphql”,因此询问。
您可以启动两个GraphQL服务器以在单个Express应用程序中为两个端点提供服务。但是,在您的特定用例中,请不要这样做。这是一种反模式。 GraphQL API旨在基于一个单个根端点。所有查询的详细信息应由选择集和/或参数表示,而不是由REST API的典型代表表示。在您的情况下,正确的GraphQL查询应如下所示:
query {
listFiles(ext: "xml") {
name
modified
}
}
您的架构可能看起来像这样:
type Query {
listFiles(ext: String): [File]
}
然后使用listFiles
解析器执行逻辑以根据给定参数检索列表。