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 IncludeCount term:
----------------
<Term Name="IncludeCount" AppliesTo="Collection" Type="Edm.Boolean">
    <Annotation Term="Core.Description" 
          String="If true, the @odata.count annotation will be returned in responses for the annotated collection" />
</Term>
=========
Add new option to Accept header for application/json with metadata=minimal
--------------------
To odata-json-format, add clause 3.1.x

3.1.x metadata=minimal+navigationLink (odata.metadata=minimal+navigationLink)
The metadata=minimal+navigationLink format parameter indicates that the service MUST respond as specified for metadata=minimal with the exception that for each EntitySet or collection NavigationProperty, the initial response payload MUST include 
•	navigationLink: The navigation link to the collection.

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

------------------
Proposed schema
<EntityType Name="Top">
	…
<NavigationProperty Name="Systems" Type="Collection(ComputerSystem)">
    <Annotation Term="OData.IncludeCount" Bool="true"/>
</NavigationProperty>
…
----------
Example: GET

GET /redfish/v1/Top
Accept: application/json; metadata=minimal+navigationLink

Response
{
"@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 IncludeCount term:
----------------
<Term Name="IncludeCount" AppliesTo="Collection" Type="Edm.Binary">
    <Annotation Term="Core.Description" 
          String="If true, the @odata.count annotation shall be returned for each collection in a response." />
</Term>
=========
Add new option to Accept header for application/json with metadata=minimal
--------------------
To odata-json-format, add clause 3.1.x

3.1.x metadata=minimal+navigationLink (odata.metadata=minimal+navigationLink)
The metadata=minimal+navigationLink format parameter indicates that the service MUST respond as specified for metadata=minimal with the exception that for each EntitySet or collection NavigationProperty, the initial response payload MUST include 
•	navigationLink: The navigation link to the collection.

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

------------------
Proposed schema
<EntityType Name="Top">
	…
<NavigationProperty Name="Systems" Type="Collection(ComputerSystem)">
    <Annotation Term="OData.IncludeCount" Bool="true"/>
</NavigationProperty>
…
----------
Example: GET

GET /redfish/v1/Top
Accept: application/json; metadata=minimal+navigationLink

Response
{
"@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]