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] Updated: (ODATA-412) Consistent representation of empty values


     [ http://tools.oasis-open.org/issues/browse/ODATA-412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-412:
-----------------------------

    Proposal: 
Services MUST respond with 404 Not Found if the addressed "single" resource does not exist/has no value
- primitive property that is null
- complex property that is null
- navigation property with multiplicity 0..1 where no entity is related
- key lookup in a collection of entities and the entity identified by that key is not part of the collection 
-- contained: entity does not exist
-- non-contained: entity does not exist or exists and is not related

Services MUST respond with 200 OK and a representation of an empty collection if the addressed collection has no items
- collection of primitive
- collection of complex type instances
- collection of entities

  was:
Use 404 Not Found if the addressed "single" resource does not exist/has no value
- primitive property that is null
- complex property that is null
- navigation property with multiplicity 0..1 where no entity is related
- key lookup in a collection of entities and the entity identified by that key is not part of the collection 
-- contained: entity does not exist
-- non-contained: entity does not exist or exists and is not related

Use 200 OK with a representation of an empty collection if the addressed collection has no items
- collection of primitive
- collection of complex type instances
- collection of entities


> Consistent representation of empty values
> -----------------------------------------
>
>                 Key: ODATA-412
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-412
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData ATOM Format , OData JSON Format, OData Protocol 
>    Affects Versions: V4.0_CSD01
>         Environment: [Proposed]
>            Reporter: Ralf Handl
>             Fix For: V4.0_CSD02
>
>
> We currently use different representations for empty values.
> The consistent cases are:
> - empty collections of primitive values, complex values, and entities are represented with 200 OK and the format-specific representation of an empty collection of the appropriate type (<m:value/>, <atom:feed/>, {"value":[]})
> - empty primitive values in Atom and JSON are represented with 200 OK and the format-specific representation of a null value (<m:value m:null="true"/> or {"value":null})
> - empty complex values in Atom are represented with 200 OK and the Atom representation of a null value (<m:value m:null="true"/>)
> The exceptions are:
> - empty single entity is currently represented with 204 No Content
> - empty complex property is represented with 200 OK and a special NULL payload in JSON ({"odata.metadata": "http://host/service/$metadata#Edm.Null"})
> The first exception is because an atom:entry cannot be empty, the second is because we wanted(?) to represent complex type instances as JSON objects without a {"value:...} wrapper and thus need a special representation of an "unwrapped null value".
> Also when we try to index an entity set by key, as in ~Customers('nonexistentkey') we currently return 404 NOT Found. This is particularly strange when you consider containment, because the canonical URL (which we say returns 404 NOT FOUND if the item doesn't exist) is the navigation link (which we say returns 204 no content if the item doesn't exist). 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]