使用 HotChocolate 动态选择模式 - GraphQL

问题描述

我正在努力尝试根据请求中发送的信息动态选择我想要使用的架构。

示例:

如果我向特定 URL 发送请求 - .../graphql/schema/{id} - 我可以从 slug 中获取 id。使用该 ID,我想获取架构(存储在数据库中,用户可以根据需要对其进行多次更新)并对其执行查询。

我已经可以使用 graphql-dotnet 做到这一点,但我想使用 HotChocolate 以利用它提供的所有功能。到目前为止,我已经浪费了很多时间,但我没有成功。

我研究了 IRequestExecutorResolver 的实现,我意识到 RequestExecutor 是根据 schemaName 选择的。有没有办法在运行时添加和编辑当前的执行程序列表?或者有什么更简单的方法可以解决我的问题?

解决方法

目前我们不允许动态路由。这意味着您目前可以有多个模式,但它们固定在特定的路线上。

https://github.com/ChilliCream/hotchocolate/blob/07e1f33cef90ca41624fc94f168ade82d4cc6e73/src/HotChocolate/AspNetCore/src/AspNetCore/Extensions/EndpointRouteBuilderExtensions.cs#L132

这可以改变。在我们的 repo 上提出问题,我们会将其放在待办事项中。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...