NGRAPHQL es un marco para implementar API GraphQL en .NET. Proporciona componentes de servidor y cliente.
Aquí hay una descripción general del proyecto, lo que es diferente y por qué lo creé en primer lugar.
Los binarios de Ngraphql se distribuyen como un conjunto de paquetes Nuget:
| Paquete | Descripción |
|---|---|
| Ngraphql | Clases básicas compartidas por los componentes del cliente y del servidor. |
| Ngraphql.client | Cliente GraphQL. |
| Ngraphql.Server | Implementación del servidor GraphQL no está vinculado a un protocolo de transporte específico. |
| Ngraphql.server.aspnetcore | Servidor GraphQL HTTP basado en ASP.NET Core Stack. |
El repositorio contiene un proyecto de prueba con el servidor HTTP: cosas.graphql.httpserver. Puede iniciarlo directamente como un proyecto de inicio en Visual Studio.
Instale el patio de juegos GraphQL para la extensión de Chrome en Chrome Store y inicie el proyecto. Iniciará el servidor web y abrirá la página GraphQL Playground. Ingrese la siguiente URL como el objetivo: http: // localhost: 55571/graphql, y ejecute una consulta de muestra: "Query {Things {Name Kind theFlags ABCGuids}}". El servidor de prueba implementa una API GraphQL sobre cosas abstractas, y no tiene un significado semántico real, es solo para fines de prueba. El propósito de esta aplicación es proporcionar una serie de tipos y métodos que cubren los muchos aspectos del protocolo GRAPHQL .
Ejecute las pruebas unitarias y vea los muchos ejemplos de solicitud/respuesta utilizados allí. Las pruebas unitarias escriben un registro detallado a medida que avanzan. Ejecute las pruebas, ubique el archivo de registro en la carpeta bin y busque muchos ejemplos de solicitudes y respuestas GraphQL junto con las métricas. Vea este archivo aquí: Unittestslog.
Consulte también Ejemplo de Star Wars en un repositorio de GitHub separado.
Vita ORM contiene un proyecto de muestra que implementa un servidor GraphQL para una aplicación de muestra de librería. Entre otras cosas, muestra cómo (n+1) el problema puede ser manejado de manera eficiente automáticamente por un ORM de arditud inteligente. La mayoría de las entidades relacionadas como el libro. Publisher o Book. Los autores están cargados por lotes automáticamente por el ORM.
Vea las páginas wiki para este proyecto.
.NET Standard 2.0, .NET 6/8.