Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 3948|Відповідь: 0

[Зв'язок] OData – OData проти GraphQL

[Копіювати посилання]
Опубліковано 20.05.2023 20:28:50 | | | |
GraphQL дуже популярний, дуже потужний, але він принципово відрізняється від OData. Тож справа не в тому, що жоден з них однозначно кращий за інший.



Є кілька думок, які я можу зрозуміти.

OData = SQL у URL


OData був способом серіалізувати SQL-оператор у URL

Важко обмежити можливості запитів на стороні клієнта.

Стандартизований OData


Специфікація OData — це її сильна сторона, так само як RPC робить із RESTful. RESTful має специфікації і простий для розуміння, але не так просто висловити все. RPC може виразити все, але він надто нестандартизований.

Недоліки OData


OData зазвичай жорсткіший за стан схеми бази даних (тобто це як SQL Query), і після зміни схеми підтримувати стару версію стає складніше.

OData віддає перевагу уніфікованому управлінню, і його важко оптимізувати для особливих випадків.

Найкраще описано


OData — це як SQL Query, GraphQL — це як збережена процедура. Ти повільно смакуєш.

Отже, ці два варіанти мають співіснувати і доповнювати одне одного.


зведення

OData — це як SQL Query, GraphQL — це як збережена процедура.

OData — це як RESTful, а GraphQL — як RPC

Якщо вам потрібна проста уніфікація, RESTFul чудовий, SQL Query достатній, OData — хороший.

Але коли у вас є особливі ситуації і ви не можете скористатися простим методом, RPC, збереженою процедурою, GraphQL підкреслює свою привабливість.

Давайте розглянемо сценарії використання обох сторін. OData схильна бути API для корпоративних додатків, таких як SAP. Зазвичай це простіший реляційний шаблон бази даних.

GraphQL — це інтернет-додаток, відкритий API та будь-який інший тип даних (наприклад, NoSQL)

Отже, підсумовуючи, GraphQL може виражати більше (вільніше), ніж OData, OData має правила (більше обмежень), ніж GraphQL

Який із них — GraphQL для зовнішнього світу, або OData для внутрішньої — все залежить від проєкту, який це використовуватиме.

【OData】(1) Базові знання OData
https://www.itsvse.com/thread-10508-1-1.html





Попередній:C# EPPlus Bulk Style Cells
Наступний:ASP.NET Core (дев'ятнадцять) використовує Background Service для виконання фонових завдань
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com