This project is currently work in progress and contains only very basic functionality. Usage in production is discouraged unless you know what you're doing.
A typesafe way how to request data from GraphQL API.
You can get this Visual Studio extension which automatically generates a cs file out of graphql schema file.
For example this IDL
type Query {
a: Int
b(x: Int!): Int!
}
will be translated into
namespace Schema
{
using System;
using System.Collections.Generic;
using Telia.GraphQL.Client.Attributes;
public class Query
{
[GraphQLField("a")]
public Int32? A
{
get;
set;
}
[GraphQLField("b")]
public Int32 B(Int32 x)
{
throw new InvalidOperationException();
}
}
}
This part will be eventually automated with schema generation
public class MyClient : GraphQLCLient<Query>
{
public Client(string endpoint) : base(endpoint)
{
}
}
Create requests towards your GraphQL API while keeping full intellisense over the schema.
For example:
var client = new MyClient("<your_endpoint>");
var data = client.Query(e => new
{
a = e.A,
b = e.B(12)
});
Console.Write(data.a);
Console.Write(data.b);