====== 2.1 Osnove OData ======
OData((OData - Open Data Protocol: https://www.odata.org/)) (Open Data Protocol) je REST((Representational State Transfer: https://de.wikipedia.org/wiki/Representational_State_Transfer)) temeljen standard za upite podataka, razvijen od strane OASIS-a((OASIS Open: https://www.oasis-open.org/)).
===== Zašto OData? =====
* Nativna podrška u [[.:anwender:excel:start|Excelu]], [[.:anwender:powerbi:start|Power BI-u]], [[.:anwender:access:start|Accessu]]
* Standardizirana sintaksa upita((OData Query Options: https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html))
* Automatski metapodaci (shema) u CSDL((Common Schema Definition Language: https://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.html)) formatu
===== OData verzija =====
Data Gateway podržava **OData v4.01**((OData Version 4.01 Specification: https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html)).
===== Service Document =====
GET /odata/demo
Navodi sve dostupne Entity Setove (tablice/View-ove).
===== Metapodaci =====
GET /odata/demo/$metadata
Vraća shemu u EDMX((Entity Data Model XML: https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html)) formatu.
===== Upit Entity Seta =====
GET /odata/demo/Customers
GET /odata/demo/Customers?$top=10
GET /odata/demo/Customers?$filter=Country eq 'Germany'
===== Opcije upita =====
^ Opcija ^ Opis ^ Primjer ^
| $filter | Filtrira rezultate | $filter=Price gt 100 |
| $select | Odabire stupce | $select=Name,Price |
| $orderby | Sortira rezultate | $orderby=Name desc |
| $top | Ograničava broj | $top=10 |
| $skip | Preskače zapise | $skip=20 |
| $count | Broji rezultate | $count=true |
| $expand | Učitava relacije | $expand=Orders |
===== Nastavak =====
* [[.:entwickler:odata:filter|Sintaksa filtera]] za složene upite
* [[.:entwickler:odata:paging|Straničenje]] za velike količine podataka
===== Izvori =====
* [[https://www.odata.org/|OData.org - Službena stranica]]
* [[https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html|OData v4.01 specifikacija (OASIS)]]
* [[https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html|OData URL Conventions]]