Weniger Code
Aus rohen GraphQL-Strings wird moderner .NET Code. Mit BpNexT.NET.GraphQL entfällt viel Boilerplate.
Type safety & IntelliSense
Stark typisierte GraphQL-Modelle liefern Vorschläge beim Tippen und minimieren Fehler - schneller zur richtigen API.
Intelligente Abfragen
LINQ-Ausdrücke werden in passende GraphQL-Queries überführt - einfach zu sauberem und wartbarem Code.
Modernes .NET für die microtech GraphQL-Schnittstelle
Queries und Mutations in GraphQL sind oft aufwendig und fehleranfällig. BpNexT.NET.GraphQL abstrahiert diese Eigenheiten und ermöglicht Entwicklung nach modernen .NET Standards.
using var httpClient = new HttpClient
{
BaseAddress = new Uri("https://api.example.test/graphql/v1")
};
httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);
var query = """
{
tblAddresses {
rowsRead(
# Range setzen von 'Kunde' bis 'Lieferant'
allBetween: {
byStatus: {
kf1Status: {
from: { string: "Kunde" }
to: { string: "Lieferant" }
}
}
}
# Filter, um genau Kunde ODER Lieferant zuzulassen
fastFilter: {
or: [
{ eq: [{ field: fldStatus }, { value: "Kunde" }] }
{ eq: [{ field: fldStatus }, { value: "Lieferant" }] }
]
}
) {
fldID
fldStatus
fldBranche
}
}
}
""";
// Request Payload zusammenbauen
var graphQlRequest = new
{
query
};
// Query ausführen
var response = await httpClient.PostAsJsonAsync("", graphQlRequest);
response.EnsureSuccessStatusCode();
// JSON lesen und dynamisch in Ergebnisliste mappen
var json = await response.Content.ReadAsStringAsync();
using var document = JsonDocument.Parse(json);
var result = new List<(int ID, string Branche, string Status)>();
var rows = document.RootElement
.GetProperty("data")
.GetProperty("tblAddresses")
.GetProperty("rowsRead");
foreach (var row in rows.EnumerateArray())
{
result.Add((
row.GetProperty("fldID").GetInt32(),
row.GetProperty("fldBranche").GetString() ?? string.Empty,
row.GetProperty("fldStatus").GetString() ?? string.Empty
));
}
var kundenUndLieferanten = bpApp
.QueryDataSet<Addresses>()
.Where(a => a.Status == "Kunde" || a.Status == "Lieferant")
.Select(a => new { a.ID, a.Branche, a.Status })
.ToList();
Nachteile direkter GraphQL-Nutzung
- String-basierte Queries/Mutationen sind fehleranfällig
- Weniger Compile-Time-Sicherheit bei Feld-/Argumentnamen
- Höherer Pflegeaufwand bei API-Änderungen
Vorteile BpNexT.NET.GraphQL
- Bis zu 60% weniger Code, deutlich les- und wartbarer
- Automatische Query-Erstellung via LINQ
- Type safety und IntelliSense out of the box
Ein API-Modell. Zwei Anbindungen.
COM und GraphQL greifen auf dieselbe komplexe Büro+-Datenwelt zu. BpNexT.NET modernisiert den Zugriff darauf und macht ihn in .NET deutlich einfacher nutzbar.
Lizenz & Kontakt
Lizenzmodelle für unterschiedliche Teamgrößen und Szenarien.
- • OEM: für Softwarehersteller mit eigenem Produktvertrieb
- • Inhouse: für interne Nutzung im eigenen Unternehmen
- • Staffelung: Einzelentwickler • Teams (bis 10) • Enterprise (unbegrenzt)