GraphQL er populært og fantastisk, men det er fundamentalt forskjellig fra OData. GraphQL er ikke OData: det er ikke bra, det er ikke bra.
Det er noen få punkter jeg kan stille meg bak.
OData = SQL i URL
OData var en måte å serialisere en SQL-setning til en URL (OData er som URL-versjonen av en SQL-setning)
OData var en måte å serialisere en SQL-setning til en URL (OData er som en URL-versjon av en SQL-setning) det utfordrende å begrense eksponeringen for klientsiden av spørringskapasiteten.
OData standardisert
ODatas spesifikasjon er dens fordel, akkurat som RPC er for RESTful. RESTful har en spesifikasjon som er lett å forstå, men ikke lett å uttrykke alt. RPC kan uttrykke alt, men det er for uspesifisert.
Mangler i OData
OData er vanligvis tett bundet til databaseskjemaet (det er derfor det er som SQL Query), når skjemaet er endret, er det vanskeligere å vedlikeholde den gamle versjonen.
OData foretrekker enhetlig administrasjon, det er vanskelig å optimalisere for spesielle tilfeller.
Den beste beskrivelsen
OData er som SQL Query, GraphQL er som lagret prosedyre. Du kan lese det sakte.
Så de to må sameksistere, og utfylle hverandre.
Sammendrag
OData er som SQL Query, GraphQL er som lagret prosedyre.
OData er som RESTful, GraphQL er som RPC.
Når du vil ha enkelhet og ensartethet, tenker du at RESTFul er flott, SQL Query er bra nok, OData er flott.
Men når du er i en situasjon der det ikke er mulig å gjøre det på den enkle måten, kommer RPC, lagrede prosedyrer og GraphQL til sin rett.
La oss se på bruksscenariene for hver av dem. OData er vanligvis et API for bedriftsapplikasjoner, som SAP. Det er vanligvis et enkelt, relasjonelt databasemønster.
GraphQL er for Internett-applikasjoner, offentlige API-er, uansett hvilken type data som er tilgjengelig (f.eks. NoSQL).
Så for å oppsummere kan GraphQL uttrykke mer enn OData (mer fritt), OData har regler enn GraphQL (flere begrensninger).
Hvilken er det, GraphQL for ekstern bruk eller OData for intern bruk, det avhenger virkelig av prosjektet å vite.
OData] (1) Grunnleggende kunnskap om OData
h ttps:// www.itsvse.com/thread-10508-1-1.html