Есть ли хорошее сравнение GraphQL и OData с точки зрения производительности, удобства использования разработчиками, сообщества и т. д. Все статьи, которые я нахожу в Интернете, очень предвзяты.
Как лучше всего вернуть большие объемные данные в формате JSON или двоичные данные?





Я исследовал и также пробовал использовать как GraphQL в Dot Net, так и Odata в DotNet Web API, чтобы создать рабочую демонстрацию, и то, что я обнаружил,
Да, я просмотрел и прочитал статью Telerik, в которой подробно описано. Сравнение PDF Для GraphQL и Odata Я прилагаю параллельное изображение сравнения, только вы можете выкопать подробности в Ссылке ссылки GraphQL против OData.

Здесь Нет в управлении версиями / обслуживании API является положительным, что означает единую конечную точку и избавление от двух API с поддержкой версий.

В основном служба OData используется, когда вы хотите предоставить доступ к своей базе данных с минимальными усилиями для работы CRUD.
Однако, если вы знаете о Sharepoint REST API и Office 365 REST API, он основан на OData и предоставляет широкий спектр API. Сейчас Microsoft создает универсальный API, который называется Graph API или Microsoft Graph, который по умолчанию включен для запросов CORS и унифицированных конечных точек для запросов из Office 365, Dynamics 365, Outlook Exchange API, Onedrive API и т. д. Которые также поддерживают OData.
Я знаю, что это старый ответ, но похоже, что GraphQL теперь поддерживает фильтрацию и упорядочение. howtographql.com/graphql-js/8-filtering-pagination-and-sorti ng
Да Поддерживается OData Фильтр OOTB (из коробки) с GraphQL, используя нашу логику, которую мы можем реализовать (y)
Также не кажется хорошей идеей использовать метод POST для запроса данных. И очевидно, что объем данных, необходимых для запроса к серверу, намного больше. По примерам из Сумит Саркар статья:
Объем данных, передаваемых для выполнения запроса, в GraphQL намного больше, чем в OData. Хотя результат (ответ) тот же.
Запросы большего размера, и вы запрашиваете данные с помощью HTTP POST, который просто кажется грязным.
Это кажется грязным, но после того, как API созреет, вы получите по крайней мере некоторые настраиваемые действия на конечных точках OData, для которых вы должны указать параметры POST с целью получения специализированного набора данных. Я на 100% профессионал в области OData, но GraphQL действительно устраняет необходимость в некоторых из этих настраиваемых действий, которые существуют для обработки сложных запросов, которые вы не можете выполнить с помощью соглашений об URL-адресах.