Back to basics: OData - the Open Data Protocol - Part 3 - System query options

preview_player
Показать описание

Topics:
OData, UI5, data binding, REST, GraphQL, HATEOAS, Northwind, CAP, CDS

Links:

Chapters:
00:00 Welcome and introduction
03:40 Starting to answer a Q from the prev episode adding filter information to a binding
07:45 A quick digression on $count as part of the resource path
09:55 A digression on the digression, this time on $value as part of the resource path
13:55 Reminding ourselves of the system query options we saw used last time ($select, $top and $skip) in the app
14:55 Getting back to the detail of the answer to the Q about binding info detail, filtering on the Discontinued property in the Product entity type
18:40 Using the $count system query option
19:15 A digression on UI5's ObjectListItem, the deprecated markFlagged property and the new ObjectMarker control and the markers aggregation
22:20 Highlighting the discussion thread in SAP Community for this topic
23:22 Digging in to the OData v4.0 spec part 2 on URL conventions doc
24:40 Reasoning behind the name "system query options"
25:52 A short digression on PascalCase vs camelCase from a question in the chat
28:30 Starting the exploration with the ODataModel mechanism generated system query options: $select, $skip and $top (plus $filter from our hardcoded extra info in the binding)
29:25 Staring at the structure of OData URLs and their different components
31:45 Seeing how $top works well with its sibling $skip, along with the growing feature of UI5's sap.m.List control
35:30 Going from 'client side paging' with $skip and $top to 'server side paging' with the "reserved system query option" $skiptoken
40:55 Another digression on why there's a 'd' property in OData v2 JSON representations (using the $format system query option, as a bonus) (reason: security)
44:20 Digging into system query option $select
46:20 Deliberately pausing before looking at system query option $expand, to look at how to construct a complex resource path ('all the products for category 2' /Categories/2/Products)
47:00 A brief digression on OData version information in metadata documents
48:55 Moving to the system query option $expand and how it contrasts (includes related resources in-line with retrieved resources) and returns a rich structure
51:12 Understanding how to apply system query option $filter at different relationship levels (Categories?$expand=Products($filter=UnitsInStock gt 0))
54:55 A philosophical digression on OData adoption, OData standardization vs the generic nature of RESTful APIs, and the efficacy of documentation that is inviting
58:35 A quick look at the 'contains' function of the $filter system query option
Рекомендации по теме
Комментарии
Автор

with these series, i learn small details i thought i knew about odata, not boring basic series

flat-line
Автор

"contains" function is non-casesensetive, nothing can be done about it, right?

gorbunov