-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Closed
Labels
draft-featuredraft:pilotGo forth and try and implement, let us know what needs fixingGo forth and try and implement, let us know what needs fixing
Description
A long standing request has been to add support for alternate schemas. See #764 #1443
There are many concerns about the effect this will have on the tooling ecosystem, however, there is also a strong desire from the community to support both more recent versions of JSON Schema and other formats such as XSD Schema, Protobuf Schema.
Instead of simply adding this feature to the specification and hoping that tooling vendors will implement it. I propose we use the draft feature (PR #1531 ) process to validate the value and feasibility of this feature.
openapi: 3.0.2
info:
title: A sample using real JSON Schema and xsd
version: 1.0.0
paths:
/:
get:
responses:
'200':
description: Ok
content:
application/json:
x-oas-draft-alternate-schema:
type: json-schema
externalValue: ./rootschema.json
application/xml:
x-oas-draft-alternate-schema:
type: xml-schema
externalValue: ./rootschema.xsd
- The property is called
alternate-schema
because it can be used in instead of, or in addition to the OAS Schema object. If both are present then both schemas must be respected. - The
type
field is required and must match one of the values identified in an alternate schema registry which will be created as part of this proposal. The alternate schema registry will provide a link to a specification for the schema file. - It is recommended that tools provide users with warnings when they encounter an alternate schema
type
that they do not support. Tools should not fail to process a description, unless the schema is essential to the operation. Ideally they should continue as if the alternate-schema is not present in a form of graceful degradation. - The
externalValue
property is required and must be a relative or absolute URL. - The
alternate-schema
property can be used anywhere theschema
property can be used.
mente, cvgaviao, knopki, Ragnoroct, byron-janrain and 11 morephilsturgeon, handrews, cportele, fmvilas, acheronfail and 16 more
Metadata
Metadata
Assignees
Labels
draft-featuredraft:pilotGo forth and try and implement, let us know what needs fixingGo forth and try and implement, let us know what needs fixing