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

How do clients construct links from the context url for complex types?

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V4.0_CS01
    • Fix Version/s: V4.0_CSD03
    • Component/s: Protocol
    • Labels:
      None
    • Environment:

      [Applied]

      Description

      Our current pattern for the context for a single complex types looks like this:

      {context-url}#{type-name}

      And a collection of complex types looks like this:
      {context-url}

      #Collection(

      {type-name}

      )

      However, in V4 we have add the ability for complex types to have relationships.Since one of the roles of the context is to provide the base for clients to construct links, how does the client compute relationship links using these context urls?

      For example, if I do ~Customers(1)/ns.Address, and Address has navigations to Country, how do represent that?

      Option 1: For complex types/collections of complex types, if there are navigation properties, you have to put the navigation links in the payload.
      Option 2: We modify the context url for single-valued complex properties to include the property path from the entity in the entity set:

      {context-url}

      /

      {entity-set}

      /$entity/

      {propertyName}

      For collection-valued complex properties and single- or collection-valued primitive properties we keep the current pattern. Collections of complex types MUST include links, as already stated in JSON section 8.1.

        Attachments

          Activity

            People

            • Assignee:
              mikep Michael Pizzo
              Reporter:
              mikep Michael Pizzo
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: