[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (ODATA-882) Mismatch between 11.2.6 Requesting Related Entities and 11.2.7 Requesting Entity References
[ https://issues.oasis-open.org/browse/ODATA-882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61549#comment-61549 ] Michael Pizzo commented on ODATA-882: ------------------------------------- Unclear whether behavior should be 204 or 404. We return 204 for Employees('TheBigBoss')/Manager because the question is valid and the answer is that there is no related resource (all agree). Argument for 404: When asking for Employees('TheBigBoss')/Manager/$ref, you are asking for the (absolute) reference to something that doesn't exist. This is similar to asking for the address of an object (i.e., the address of an object-valued property of an instance) that doesn't exist and should be an error (404). Argument for 204: It's the same question, asked in a different way. In both cases you're asking for the resource. In one case you're asking for the resource, in another case you're asking for an alternate representation (the $ref) of the resource. Hubert: returns 204 for /resource and /resource/$ref Tripin: returns 404 for all cases WebAPI: leaves it up to the service implementation RESTier: investigating Olingo: leaves it up to the service implementation SAP:? > Mismatch between 11.2.6 Requesting Related Entities and 11.2.7 Requesting Entity References > ------------------------------------------------------------------------------------------- > > Key: ODATA-882 > URL: https://issues.oasis-open.org/browse/ODATA-882 > Project: OASIS Open Data Protocol (OData) TC > Issue Type: Improvement > Components: OData Protocol > Affects Versions: V4.0_ERRATA02 > Reporter: Ralf Handl > Fix For: V4.0_ERRATA03 > > > 11.2.6 defines that requests to nullable single-valued navigation properties return 204 No Content if no entity is currently related. > 11.2.7 defines that all requests for references to a single entity return 404 Not Found, not distinguishing between "direct" resource paths and resource paths to related entities. > This leads to: > GET Employees('TheBigBoss')/Manager --> 204 No Content > GET Employees('TheBigBoss')/Manager/$ref --> 404 Not Found > Clarify whether this is intentional: > A) Of course, the related Manager is empty, so the reference does not exist, or > B) Ooops, of course both requests should return the same response code because /$ref is just a briefer representation of the non-existing related entity > Also clarify what happens if other path segments are added, e.g. properties or navigation properties: > GET Employees('TheBigBoss')/Manager/Name --> ??? > GET Employees('TheBigBoss')/Manager/Department --> ??? -- 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]