Ngraphql - это структура для реализации API GraphQL в .NET. Он предоставляет компоненты сервера и клиента.
Вот обзор проекта, что отличается и почему я создал его в первую очередь.
Двоичные файлы ngraphql распределены как набор пакетов Nuget:
| Упаковка | Описание |
|---|---|
| Ngraphql | Основные классы, разделяемые клиентскими и серверными компонентами. |
| Ngraphql.client | GraphQL Client. |
| Ngraphql.server | Реализация GraphQL Server не привязана к конкретному транспортному протоколу. |
| Ngraphql.server.aspnetcore | Graphql http server на основе стека ASP.NET Core. |
Repo содержит тестовый проект с HTTP -сервером: things.graphql.httpserver. Вы можете запустить его непосредственно в качестве стартап -проекта в Visual Studio.
Установите Playground GraphQL для расширения Chrome от Chrome Store и запустите проект. Он запустит веб -сервер и откроет страницу GraphQL Playground. Введите следующий URL в качестве цели: http: // localhost: 55571/graphql и запустите образец запроса: «Query {Things {name wind theflags abcguids}}». Тестовый сервер реализует API GraphQL об абстрактных вещах , и он лишен какого -либо реального семантического значения - он предназначен только для цели тестирования. Целью данного приложения является предоставление ряда типов и методов, охватывающих множество аспектов протокола GraphQL .
Запустите модульные тесты и смотрите множество примеров запроса/ответа, используемых там. Модульные тесты пишут подробный журнал по мере их поступления. Запустите тесты, найдите файл журнала в папке Bin и посмотрите внутрь многих примеров запросов и ответов GraphQL вместе с метриками. Смотрите этот файл здесь: Unittestslog.
См. Также пример «Звездных войн» в отдельном репозитории GitHub.
Vita Orm содержит образец проекта, реализующий сервер GraphQL для приложения для книжного магазина. Среди прочего, это показывает, как (n+1) проблема может быть эффективно выполнена автоматически умным ормом. Большинство связанных сущностей, таких как Book.Publisher или Book.Authors автоматически загружаются ORM.
Смотрите страницы вики для этого проекта.
.NET Стандарт 2.0, .NET 6/8.