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