NgraphQL est un cadre pour implémenter les API GraphQL dans .NET. Il fournit des composants côté serveur et client.
Voici un aperçu du projet, ce qui est différent et pourquoi je l'ai créé en premier lieu.
Les binaires NgraphQL sont distribués sous forme de packages NuGet:
| Emballer | Description |
|---|---|
| Ngraphql | Classes de base partagées par les composants du client et du serveur. |
| Ngraphql.client | Client GraphQL. |
| Ngraphql.server | Implémentation de GraphQL Server non liée à un protocole de transport spécifique. |
| Ngraphql.server.aspnetcore | GraphQL HTTP Server basé sur ASP.NET Core Stack. |
Le repo contient un projet de test avec HTTP Server: Things.Graphql.httpServer. Vous pouvez le lancer directement en tant que projet de démarrage dans Visual Studio.
Installez le terrain de jeu GraphQL pour Chrome Extension de Chrome Store et lancez le projet. Il démarrera le serveur Web et ouvrira la page GraphQL Playground. Entrez l'URL suivante en tant que cible: http: // localhost: 55571 / graphQL, et exécutez un exemple de requête: "Query {Things {name kind theflags ABCGuids}}". Le serveur de test implémente une API GraphQL sur les choses abstraites, et elle est vide de toute véritable signification sémantique - c'est à des fins de test uniquement. Le but de cette application est de fournir un certain nombre de types et de méthodes couvrant les nombreux aspects du protocole GraphQL .
Exécutez les tests unitaires et consultez les nombreux exemples de demande / réponse utilisés là-bas. Les tests unitaires rédigent un journal détaillé au fur et à mesure. Exécutez les tests, localisez le fichier journal dans le dossier du bin et consultez à l'intérieur pour de nombreux exemples de demandes et de réponses GraphQL ainsi que les métriques. Voir ce fichier ici: unittestslog.
Voir aussi Star Wars Exemple dans un référentiel GitHub séparé.
Vita Orm contient un exemple de projet implémentant un serveur GraphQL pour un exemple de librairie. Entre autres choses, cela montre comment (n + 1) le problème peut être géré efficacement automatiquement par un ORM assez intelligent. La plupart des entités connexes comme Book.Publisher ou Book. Les auteurs sont automatiquement chargés par lots par l'ORM.
Voir les pages wiki pour ce projet.
.NET Standard 2.0, .NET 6/8.