====== 2.1 Fondamenti OData ====== OData((OData - Open Data Protocol: https://www.odata.org/)) (Open Data Protocol) è uno standard basato su REST((Representational State Transfer: https://it.wikipedia.org/wiki/Representational_State_Transfer)) per query dati, sviluppato da OASIS((OASIS Open: https://www.oasis-open.org/)). ===== Perché OData? ===== * Supporto nativo in [[.:anwender:excel:start|Excel]], [[.:anwender:powerbi:start|Power BI]], [[.:anwender:access:start|Access]] * Sintassi query standardizzata((OData Query Options: https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html)) * Metadati automatici (Schema) in formato CSDL((Common Schema Definition Language: https://docs.oasis-open.org/odata/odata-csdl-json/v4.01/odata-csdl-json-v4.01.html)) ===== Versione OData ===== Il Data Gateway supporta **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 Elenca tutti gli Entity Set disponibili (tabelle/viste). ===== Metadata ===== GET /odata/demo/$metadata Restituisce lo schema in formato EDMX((Entity Data Model XML: https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html)). ===== Interrogare Entity Set ===== GET /odata/demo/Customers GET /odata/demo/Customers?$top=10 GET /odata/demo/Customers?$filter=Country eq 'Germany' ===== Query Options ===== ^ Opzione ^ Descrizione ^ Esempio ^ | $filter | Filtra risultati | $filter=Price gt 100 | | $select | Seleziona colonne | $select=Name,Price | | $orderby | Ordina risultati | $orderby=Name desc | | $top | Limita numero | $top=10 | | $skip | Salta record | $skip=20 | | $count | Conta risultati | $count=true | | $expand | Carica relazioni | $expand=Orders | ===== Approfondimenti ===== * [[.:entwickler:odata:filter|Sintassi filtri]] per query complesse * [[.:entwickler:odata:paging|Paging]] per grandi volumi di dati ===== Fonti ===== * [[https://www.odata.org/|OData.org - Sito Ufficiale]] * [[https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html|Specifica OData v4.01 (OASIS)]] * [[https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html|OData URL Conventions]]