OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (ODATA-1064) Add ability to annotate collections to return only count and NextLink


     [ https://issues.oasis-open.org/browse/ODATA-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-1064:
------------------------------

    Proposal: 
----------------
Add new example to Prefer header to showing use of count and navigation links
--------------------
To OData Version 4.01. Part 1: Protocol, clause 8.2.8.4 Preference include-annotations (odata.include-annotations)
Add: 
Example 8: a Prefer header requesting that navigation links be returned in the case that the format metadata=minimal is specified in the Accept header.
      Prefer: include-annotations="odata.navigationLink,odata.count"

Add paragraph before example 3.
Regardless of the metadata format specified, annotations specified by the include-annotations preference should be added to response.

--------------------
Example:

------------------
Proposed schema
<EntityType Name="Top">
      …
      <NavigationProperty Name="Systems" Type="Collection(ComputerSystem)"/>
      …
</EntityType>
----------
Example: GET

GET /redfish/v1/Top
Prefer: include-annotations="odata.count,odata.navigationLink"

Response
Preferences-Applied: include-annotations="odata.count,odata.navigationLink"
{
"@odata.context": "/redfish/v1/$metadata#Top",
"@odata.id": "/redfish/v1/Top",
"@odata.type": "#Top ",
"Name": "Top",
… 
"Systems@odata.count": 15,
"Systems@odata.navigationLink": {"/redfish/v1/Systems"} 
…
}

  was:
----------------
Add new example to Prefer header to showing use of count and navigation links
--------------------
To OData Version 4.01. Part 1: Protocol, clause 8.2.8.4 Preference include-annotations (odata.include-annotations)
Add: 
Example 8: a Prefer header requesting that navigation links be returned in the case that the format metadata=minimal is specified in the Accept header.
      Prefer: include-annotations="odata.navigationLink, odata.count"

Add paragraph before example 3.
Regardless of the metadata format specified, annotations specified by the include-annotations preference should be added to response.

--------------------
Example:

------------------
Proposed schema
<EntityType Name="Top">
      …
      <NavigationProperty Name="Systems" Type="Collection(ComputerSystem)"/>
      …
</EntityType>
----------
Example: GET

GET /redfish/v1/Top
Prefer: include-annotations="odata.count, odata.navigationLink"

Response
Preferences-Applied: include-annotations="odata.count, odata.navigationLink"
{
"@odata.context": "/redfish/v1/$metadata#Top",
"@odata.id": "/redfish/v1/Top",
"@odata.type": "#Top ",
"Name": "Top",
… 
"Systems@odata.count": 15,
"Systems@odata.navigationLink": {"/redfish/v1/Systems"} 
…
}


> Add ability to annotate collections to return only count and NextLink
> ---------------------------------------------------------------------
>
>                 Key: ODATA-1064
>                 URL: https://issues.oasis-open.org/browse/ODATA-1064
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: New Feature
>          Components: Vocabularies
>    Affects Versions: V4.0_CSD01
>            Reporter: George Ericson
>            Assignee: George Ericson
>              Labels: Proposed, request_tc_discussion
>             Fix For: V4.01_CS02, V4.0_ERRATA04
>
>
> Issues with NavigationProperty
> 1)	If AutoExpand or AutoExpandReferences is not specified, then a GET without $expand or $ref query parameters will not return any representation of declared NavigationProperties.
> 2)	If AutoExpand or AutoExpandReferences is specified, the concern is that the returned representation of the containing entity might be too large.
> 3)	For an EntityType containing many NavigationProperties, it is difficult to specify the desired information using query parameters.
> The Redfish specification attempts to solve these issues by introducing an intermediate resource that contains the original collection as a Members collection. The intermediate resource is then referenced via a NavigationProperty with AutoExpandReferences.  The new resource is required to return $count as a metadata property of the Members collection.  The value is the size of the original collection.
> For the most part, this is successful, but the solution creates several new problems.
> 1)	Redfish specifies that a POST to the intermediate resource is equivalent to doing a POST to the contained collection.  This is not conformant.
> 2)	Introduction of many intermediate resources makes the resulting model more complex.



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]