Extensions for GraphQL.Client to build graphQL queries from a C# model.
Uses GraphQL.Query.Builder for query building.
See complete documentation here
See sample here
dotnet add package GraphQL.Client.Extensions
// create the query with GraphQL.Query.Builder
Query<Human> query = new Query<Human>("humans", options) // set the name of the query
.AddArguments(new { id = "uE78f5hq" }) // add query arguments
.AddField(h => h.FirstName) // add firstName field
.AddField(h => h.LastName) // add lastName field
.AddField( // add a sub-object field
h => h.HomePlanet, // set the name of the field
sq => sq /// build the sub-query
.AddField(p => p.Name)
)
.AddField<human>( // add a sub-list field
h => h.Friends,
sq => sq
.AddField(f => f.FirstName)
.AddField(f => f.LastName)
);
// this corresponds to :
// humans (id: "uE78f5hq") {
// FirstName
// LastName
// HomePlanet {
// Name
// }
// Friends {
// FirstName
// LastName
// }
// }
using (GraphQLClient client = new("<url>"))
{
// run the query
Human human = await client.Get<Human>(query);
}
- GraphQL.Client (>= 1.0.3)
- GraphQL.Query.Builder (>= 2.0.0)
- GraphQL.Query.Builder.Formatter.NewtonsoftJson (>= 1.0.0)