Technical Articles
Key-as-segment convention support by RAP
Based on the following question RAP: Key As Segment capability support posted by Geert-Jan Klaps I found that I missed to blog about a nice “out-of-the-box” feature available for OData V4 services that lets a consumer use an alternate convention for addressing entities by appending a segment containing the unquoted key value to the URL.
This feature is described in the OData V.4.01 specification OData Version 4.01. Part 2: URL Conventions (oasis-open.org)
That means instead of
/sap/opu/odata4/dmo/ui_travel_proc_m_o4/srvd/dmo/ui_travel_processor_m/0001/Travel('1')
you can use the more REST like syntax
/sap/opu/odata4/dmo/ui_travel_proc_m_o4/srvd/dmo/ui_travel_processor_m/0001/Travel/1
it even works with navigation so that you can use the following URL as well:
/sap/opu/odata4/dmo/ui_travel_proc_m_o4/srvd/dmo/ui_travel_processor_m/0001/Travel/1/_Booking/2
This feature works for OData V4 services based on the ABAP RESTful Application Programming Model but also for services based on a code based implementation based on the SAP Gateway OData V4 framework when using the latest SP of SAP_GWFND.
Hey, Andre,
This is great indeed - I prefer working this way with OData APIs that are new enough to support it.
One more tip - handling of composite keys:
/ProductTexts(ProductID='A1',Language='EN')
Would become:
/ProductTexts/A1/EN
Note that the order is important - the keys must be specified in the order in which they appear in the $metadata.
Best,
Stoyko
Correct !
Is there any V4 Development example with ABAP without SEGW ?
Sure.
Check out my following blog posts
https://blogs.sap.com/2017/12/12/odata-v4-code-based-implementation-overview/
As of sap s/4 Hana 2020 fsp1 you can build OData V4 using ADT and rap