NGRAPHQL ist ein Framework für die Implementierung von GraphQL -APIs in .NET. Es bietet server- und clientseitige Komponenten.
Hier ist ein Überblick über das Projekt, was anders ist und warum ich es überhaupt erstellt habe.
NGRAPHQL -Binärdateien werden als eine Reihe von Nuget -Paketen verteilt:
| Paket | Beschreibung |
|---|---|
| Ngraphql | Grundlegende Klassen, die von Client- und Serverkomponenten geteilt werden. |
| Ngraphql.client | GraphQL Client. |
| NGRAPHQL.SERVER | GraphQL Server -Implementierung nicht an ein bestimmtes Transportprotokoll gebunden. |
| Ngraphql.server.aspnetcore | GraphQL HTTP -Server basierend auf ASP.net Core Stack. |
Das Repo enthält ein Testprojekt mit HTTP -Server: Things.Graphql.httpserver. Sie können es direkt als Startprojekt in Visual Studio starten.
Installieren Sie den GraphQL -Spielplatz für die Chrome -Erweiterung aus Chrome Store und starten Sie das Projekt. Es startet den Webserver und öffnet die GraphQL -Spielplatzseite. Geben Sie die folgende URL als Ziel ein: http: // localhost: 55571/graphql, und führen Sie eine Beispielabfrage aus: "Abfrage {Things {Name Art theFlags abcguids}}". Der Testserver implementiert eine GraphQL -API zu abstrakten Dingen , und es ist frei von einer echten semantischen Bedeutung - sie dient nur zum Testzweck. Ziel dieser App ist es, eine Reihe von Typen und Methoden bereitzustellen, die die vielen Aspekte des GraphQL -Protokolls abdecken.
Führen Sie die Unit -Tests aus und sehen Sie sich die vielen dort verwendeten Anforderungen/Antwortbeispiele an. Die Unit -Tests schreiben ein detailliertes Protokoll, während sie gehen. Führen Sie die Tests aus, suchen Sie die Protokolldatei im Bin -Ordner und suchen Sie nach vielen Beispielen für GraphQL -Anforderungen und Antworten zusammen mit den Metriken. Siehe diese Datei hier: unittestslog.
Siehe auch Star Wars -Beispiel in einem separaten Github -Repository.
Vita ORM enthält ein Beispielprojekt, das einen GraphQL -Server für eine Beispielanwendung im Buchhandel implementiert. Unter anderem zeigt es, wie (n+1) Problem von einem Smart-Genough-Orm automatisch behandelt werden kann. Die meisten verwandten Unternehmen wie Book.publisher oder Book.Authors werden vom ORM automatisch angezogen.
Siehe die Wiki -Seiten für dieses Projekt.
.NET Standard 2.0, .net 6/8.