Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-1364

Define ExpandOptions for nav property in $select

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: New
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: V4.01_OS
    • Fix Version/s: V5.0
    • Component/s: Protocol, URL Conventions
    • Labels:
      None
    • Environment:

      [Proposed]

    • Proposal:
      Hide

      Support the full set of $expand options on navigation properties within $select. For example:

      GET customers?$select=firstName, orders($select=orderId, amount)

      { "firstName": "Victor", "orders@odata.navigationLink": "customers('victorb')/orders?$select=orderId, amount" }

      Note that this does not affect the contextUrl.

      Show
      Support the full set of $expand options on navigation properties within $select. For example: GET customers?$select=firstName, orders($select=orderId, amount) { "firstName": "Victor", "orders@odata.navigationLink": "customers('victorb')/orders?$select=orderId, amount"  } Note that this does not affect the contextUrl.

      Description

      The defined semantics for a navigation property in $select is to include the navigation link in the response body. However, that navigation link may be opaque, making it difficult for a generic hypermedia-driven client to append options such as nested selects/expands. There should be a way to specify that the response should include a navigation link that selects a subset of rows, and properties, in a certain order, with certain nested properties expanded, etc. In short, everything that you could specify if you $expanded the navigation property inline.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mikep Michael Pizzo (Inactive)
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: