我是 GraphQL 新手,我正在尝试将 graphql 模式转换为 C# 类 GraphQL:-
input Element{ id: Int name: String! }
C#:-
class Element
{
public int id {get;set;}
public string name {get;set;}
}
这可能吗?如果是,那么如何,因为手动创建类在我的情况下不是解决方案,因为我有大模式。另外,特殊粘贴在 Visual Studio 中不起作用。 谢谢
使用“Strawberry Shake”,您可以根据架构和查询生成完整的 C# 客户端: https://chillicream.com/docs/strawberryshake/#introduction
当您提供有关您的用例的更多详细信息时,您的问题将更容易回答。 (例如:您的查询在运行时会发生变化吗?您期望类型的准确程度如何?)
我已经可以在您的翻译中发现一个错误:id 在模式中可以为空。只有当您将查询包含在生成器中时,您才能利用 graphql 架构安全性。 (想象一下,您将该类与类似
query { id }
的查询一起使用 - 该名称不会返回,但它在架构中甚至是不可为空的!)
也许 GraphQlClientGenerator 可以提供帮助:https://github.com/Husqvik/GraphQlClientGenerator/tree/master。 它是一个简单的控制台应用程序,可生成 C# GraphQL 查询生成器和数据类,以便简单地使用经过编译器检查的 GraphQL API。