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-980) SchemaVersion header, $SchemaVersion query option, or root URL versioning


    [ https://issues.oasis-open.org/browse/ODATA-980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63976#comment-63976 ] 

Michael Pizzo edited comment on ODATA-980 at 11/3/16 2:51 AM:
--------------------------------------------------------------

SchemaVersion annotation should be applied the same way as the @odata.type annotation, not applied *to* the @odata.type annotation.  i.e.;

{
  "@odata.type":"myns.myComplexType,
  "@SchemaVersion":"1.0",
  "prop1":1
}

if we had scenarios where we needed to specify the schemaversion of a primitive property (I don't think we have this case?):
{
  "prop1@odata.type":"myns.myComplexType,
  "prop1@SchemaVersion":"1.0",
  "prop1":1
}

Are there any cases where an object may have both a context and a type with a full URL and need to specify different versions?


was (Author: mikep):
SchemaVersion annotation should be applied the same way as the @odata.type annotation, not applied *to* the @odata.type annotation.  i.e.;

{
  "@odata.type":"myns.myComplexType,
  "@SchemaVersion":"1.0",
  "prop1":1
}

if we had scenarios where we needed to specify the schemaversion of a primitive property (I don't think we have this case?):
{
  "prop1@odata.type":"myns.myComplexType,
  "prop1@SchemaVersion":"1.0",
  "prop1":1
}

> SchemaVersion header, $SchemaVersion query option, or root URL versioning
> -------------------------------------------------------------------------
>
>                 Key: ODATA-980
>                 URL: https://issues.oasis-open.org/browse/ODATA-980
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData Protocol
>    Affects Versions: V4.01_WD01
>         Environment: Proposed
>            Reporter: Ralf Handl
>             Fix For: V4.01_WD01
>
>
> The SchemaVersion header and accompanying annotation are intended to allow breaking changes without having to change the service root URL.
> How does this combine with type referencing in the @odata.type annotation?
> We could annotate the @odata.type annotation with the @Core.SchemaVersion:
>     "@odata.type":"https://some.whe.re/$metadata";
>     "@odata.type@Core.SchemaVersion":"2.0.1",
> Or we could add a system query option and make the schema version part of the URL:
>     "@odata.type":"https://some.whe.re/$metadata?$SchemaVersion=2.0.1";,
> Or we could reconsider this and fall back to root URL versioning:
>     "@odata.type":"https://some.whe.re;v=2.0.1/$metadata";,



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