-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: No Action
-
Affects Version/s: V4.0_CSD01
-
Fix Version/s: V4.01_CS02
-
Component/s: Protocol, Vocabularies
-
Labels:None
-
Environment:
V4.01
-
Proposal:
-
Resolution:
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.