-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: V4.01_CSD01
-
Fix Version/s: V4.01_CSD02
-
Component/s: Protocol
-
Labels:None
-
Environment:
Applied
-
Proposal:
-
Resolution:
1) Chapter 10 states: The context URL describes the content of the payload. It consists of the canonical metadata document URL and a fragment identifying the relevant portion of the metadata document.
This is somewhat violated by context urls using the template variable
{entity}whose value is the canonical URL of an entity, including its key values - the key values aren't needed to identify the relevant portion of the metadata document, for this purpose the type is sufficient.
2) Chapter 10 states: Request payloads generally do not require context URLs as the type of the payload can generally be determined from the request URL.
Can we have the same for response payloads? Most responses for requests to entity sets or singletons using canonical URLs would not need a context URL, same for navigation paths with a navigation property binding. Instances with a type derived from the declared type carry the @odata.type annotation, so even those don't need a context URL. Same for responses to actions/functions with an EntitySetPath, or action/function imports with a an EntitySet.
-ids are in context URL for relative references (and are particularly important for containment). Just using types would break that.
-Not returning context url in minimal would be breaking; it would have to be 4.01 only.The context URL is returned in minimal metadata because we wanted responses to be standalone.
-Client libraries may depend on context url to process results without having to know about the request url. we would have to make sure libraries had access to the request in order to correctly interpret the results.
Mike will look into impact on .NET libraries.
Ramesh will look into impact on Olingo libraries.
Matt will follow up with Evan.