如何从 GraphQL 模式生成 C# 类型

问题描述 投票:0回答:2

我是 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 中不起作用。 谢谢

c# graphql
2个回答
1
投票

使用“Strawberry Shake”,您可以根据架构和查询生成完整的 C# 客户端: https://chillicream.com/docs/strawberryshake/#introduction

当您提供有关您的用例的更多详细信息时,您的问题将更容易回答。 (例如:您的查询在运行时会发生变化吗?您期望类型的准确程度如何?)

我已经可以在您的翻译中发现一个错误:id 在模式中可以为空。只有当您将查询包含在生成器中时,您才能利用 graphql 架构安全性。 (想象一下,您将该类与类似

query { id }
的查询一起使用 - 该名称不会返回,但它在架构中甚至是不可为空的!)


0
投票

也许 GraphQlClientGenerator 可以提供帮助:https://github.com/Husqvik/GraphQlClientGenerator/tree/master。 它是一个简单的控制台应用程序,可生成 C# GraphQL 查询生成器和数据类,以便简单地使用经过编译器检查的 GraphQL API。

© www.soinside.com 2019 - 2024. All rights reserved.