[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (ODATA-842) Represent primitive types as JSON Schema formats
[ https://issues.oasis-open.org/browse/ODATA-842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ralf Handl updated ODATA-842:
-----------------------------
Description:
Many OData primitive types are JSON Schema primitive types combined with a set of restrictions, e.g. Edm.Int64 is
- "type":"integer",
- "minimum":-9223372036854775808,
- "maximum":9223372036854775807
or Edm.Guid is
- "type":"string",
- "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
There are basically three options:
- place these in definitions in edm.json and reference them there
- inline these definitions at each occurrence of the OData primitive type
- just combine the JSON Schema primitive type with an OData-specific format, e.g.
- type: string
- format: guid
or
- type: integer
- format: int64
The third approach is the most readable and in sync with what Swagger does, see http://swagger.io/specification, section Data Types, and we can try to get these formats into the next version of JSON Schema, see https://github.com/json-schema/json-schema/wiki/%22format%22-suggestions
was:
Many OData primitive types are JSON Schema primitive types combined with a set of restrictions, e.g. Edm.Int64 is
- "type":"integer",
- "minimum":-9223372036854775808,
- "maximum":9223372036854775807
or Edm.Guid is
- "type":"string",
- "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
There are basically three options:
- place these in definitions in edm.json and reference them there
- inline these definitions at each occurrence of the OData primitive type
- just combine the JSON Schema primitive type with an OData-specific format, e.g.
- type: string
- format: guid
or
- type: integer
- format: int64
The third approach is the most readable and in sync with what Swagger does, see http://swagger.io/specification, section Data Types
Proposal: Define specific formats for OData primitive types
> Represent primitive types as JSON Schema formats
> ------------------------------------------------
>
> Key: ODATA-842
> URL: https://issues.oasis-open.org/browse/ODATA-842
> Project: OASIS Open Data Protocol (OData) TC
> Issue Type: Bug
> Components: OData JSON CSDL
> Affects Versions: V4.0_WD01
> Reporter: Ralf Handl
> Fix For: V4.0_WD01
>
>
> Many OData primitive types are JSON Schema primitive types combined with a set of restrictions, e.g. Edm.Int64 is
> - "type":"integer",
> - "minimum":-9223372036854775808,
> - "maximum":9223372036854775807
> or Edm.Guid is
> - "type":"string",
> - "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
> There are basically three options:
> - place these in definitions in edm.json and reference them there
> - inline these definitions at each occurrence of the OData primitive type
> - just combine the JSON Schema primitive type with an OData-specific format, e.g.
> - type: string
> - format: guid
> or
> - type: integer
> - format: int64
> The third approach is the most readable and in sync with what Swagger does, see http://swagger.io/specification, section Data Types, and we can try to get these formats into the next version of JSON Schema, see https://github.com/json-schema/json-schema/wiki/%22format%22-suggestions
--
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]