Ответ 1
Я исследовал, а также попытался использовать GraphQL в Dot Net и Odata в DotNet Web API, чтобы создать рабочую демо-версию.
- Удобство использования для разработчиков Учитывая, что у вас уже есть WebAPI (DotNet Framework) и вы хотите перейти на WebQL-интерфейс, совместимый с GraphQL или OData, тогда я отвечаю на вопрос о выборе OData из-за его легкой интеграции и функции "Готовые фильтры", OrderBy, Select, Expand и т.д. (См. MSFT на DotNet OData). Если вы выберете GraphQL, вам придется проделать большую работу, такую как "Создать тип", "Схема и запрос" и "Реализовать реализацию" для каждого запроса.
- Производительность зависит от вашей логики запроса. GraphQL и Odata Оба имеют возможность получать то, что вы запрашиваете, используя $ select в OData, а в GraphQL вы можете запрашивать их по соглашению запросов.
- Разработка API с нуля, если вам нужна только одна конечная точка для всех запросов API и вы не хотите поддерживать конечную точку управления версиями, имя поля Autosuggest и тип схемы, тогда GraphQL - лучший вариант. Но доступность библиотеки GraphQL для каждого фреймворка и сообщества зависит от стека технологий (например, nodejs, С#, Ruby, Java и т.д.)
Да, я просмотрел и прочитал статью Telerik, в которой подробно описал. Сравнительный PDF Для GraphQL и Odata. Я прилагаю изображение сравнения только рядом, вы можете найти подробности в Ссылочная ссылка GraphQL против OData.
Стандартный API
Здесь, нет в API Управление версиями/поддержка положительно означает единую конечную точку и избавиться от двух версий API
Возможность запроса
Возможность поверхности
В основном сервис OData используется, когда вы хотите предоставить доступ к вашей базе данных с минимальными усилиями для работы CRUD.
Однако, если вы знаете об API REST Sharepoint и API REST Office 365, он основан на OData и предоставляет широкий спектр API. Сейчас Microsoft создает универсальный API, который называется Graph API или Microsoft Graph, который по умолчанию включен для запроса CORS и унифицированных конечных точек для запроса из Office 365, динамика 365, Outlook Exchange API, Onedrive API и т.д., Которые также поддерживают OData.