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-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]