Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3948|Resposta: 0

[Comunicação] OData – OData vs GraphQL

[Copiar link]
Publicado em 20/05/2023 20:28:50 | | | |
GraphQL é muito popular, muito poderoso, mas é fundamentalmente diferente do OData. Então não é que um seja absolutamente melhor que o outro.



Tem alguns pontos que eu entendo.

OData = SQL na URL


OData era uma forma de serializar uma instrução SQL em uma URL

É difícil limitar a capacidade de consulta do lado do cliente.

OData Padronizado


A especificação do OData é sua força, assim como o RPC faz com o RESTful. O RESTful tem especificações e é fácil de entender, mas não é fácil expressar tudo. O RPC pode expressar tudo, mas é muito pouco padronizado.

Falhas no OData


OData geralmente é mais rígido que o estado do esquema do banco de dados (então é como SQL Query), e uma vez que o esquema é alterado, fica mais difícil manter a versão antiga.

OData prefere gerenciamento unificado, e é difícil otimizar para casos especiais.

Melhor descrito


OData é como SQL Query, GraphQL é como stored procedure. Você prova devagar.

Portanto, esses dois devem coexistir e se complementar.


resumo

OData é como SQL Query, GraphQL é como stored procedure.

OData é como RESTful, e GraphQL é como RPC

Quando você quer unificação simples, vai achar o RESTFul ótimo, SQL Query é suficiente, OData é bom.

Mas quando você tem situações especiais e não pode usar um método simples, RPC, stored procedure, o GraphQL destaca seu charme.

Vamos analisar os cenários de uso de ambos os lados. OData tende a ser uma API para aplicações empresariais, como SAP. Geralmente o padrão mais simples e relacional de banco de dados.

GraphQL é uma aplicação para a Internet, uma API exposta e qualquer tipo de dado (como NoSQL)

Resumindo, o GraphQL pode expressar mais (mais livremente) do que o OData, o OData tem regras (mais restrições) do que o GraphQL

Qual é, ou GraphQL para o mundo externo, ou OData para o interno, realmente depende do projeto para usá-lo.

【OData】(1) Conhecimento básico de OData
https://www.itsvse.com/thread-10508-1-1.html





Anterior:Células em C# EPPlus Bulk
Próximo:ASP.NET Core (dezenove) usa o BackgroundService para executar tarefas em segundo plano
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com