gpt4 book ai didi

asp.net-core - HotChocolate GraphQL 在运行时添加类型扩展或模式

转载 作者:行者123 更新时间:2023-12-05 06:04:20 25 4
gpt4 key购买 nike

当后端服务在运行时随时在我们的 API 注册时,我想动态添加新类型或查询扩展。所以在 ConfigureServices 中启动时,我们基本上只有一个带有一种测试方法的查询:

services.AddGraphQLServer()
.AddQueryType(t => t.Name("Query"))
.AddType<Query>();

启动后,我需要调用 AddType 或 AddTypeExtensionsFromString 以将新方法/类型添加到 API。有没有办法用 HotChocolate 做到这一点?

最佳答案

您可以使用类型模块来做到这一点。

创建一个实现ITypeModule 的自定义类型模块。这个接口(interface)有一个方法 CreateTypesAsync。此方法在架构构建过程中调用,您可以返回低级别类型。

该接口(interface)还定义了一个事件TypesChanged。只要 HotChocoalte 应该重新加载此 TypeModule,您就可以触发此事件。类型模块可以在 DI 中注册,您可以将模块注入(inject)到应该触发模式重新加载的地方。

更多文档:https://chillicream.com/blog/2021/09/27/hot-chocolate-12#dynamic-schemas

完整示例:https://github.com/ChilliCream/hotchocolate-examples/tree/master/misc/TypeModules

关于asp.net-core - HotChocolate GraphQL 在运行时添加类型扩展或模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66333023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com