Skip to content

Commit 9acd3db

Browse files
minor simplification of v3.1 schema (#2671)
* minor simplification of v3.1 schema "if the X property is present, then apply this constraint to property X" can be simplified by simply stating the constraint for property X. * add missing constraint to "header" https://spec.openapis.org/oas/v3.1.0#headerObject * allowEmptyValue and allowReserved don't make sense for headers * collapse single-item "enum"s in "cookie" and "header" to "const"
1 parent 17ed07c commit 9acd3db

File tree

2 files changed

+32
-44
lines changed

2 files changed

+32
-44
lines changed

schemas/v3.1/schema.json

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -534,9 +534,7 @@
534534
"properties": {
535535
"style": {
536536
"default": "simple",
537-
"enum": [
538-
"simple"
539-
]
537+
"const": "simple"
540538
}
541539
}
542540
}
@@ -581,9 +579,7 @@
581579
"properties": {
582580
"style": {
583581
"default": "form",
584-
"enum": [
585-
"form"
586-
]
582+
"const": "form"
587583
}
588584
}
589585
}
@@ -934,40 +930,38 @@
934930
"default": false,
935931
"type": "boolean"
936932
},
937-
"allowEmptyValue": {
938-
"default": false,
939-
"type": "boolean"
933+
"schema": {
934+
"$dynamicRef": "#meta"
935+
},
936+
"content": {
937+
"$ref": "#/$defs/content"
940938
}
941939
},
940+
"oneOf": [
941+
{
942+
"required": [
943+
"schema"
944+
]
945+
},
946+
{
947+
"required": [
948+
"content"
949+
]
950+
}
951+
],
942952
"dependentSchemas": {
943953
"schema": {
944954
"properties": {
945955
"style": {
946956
"default": "simple",
947-
"enum": [
948-
"simple"
949-
]
957+
"const": "simple"
950958
},
951959
"explode": {
952960
"default": false,
953961
"type": "boolean"
954-
},
955-
"allowReserved": {
956-
"default": false,
957-
"type": "boolean"
958-
},
959-
"schema": {
960-
"$dynamicRef": "#meta"
961962
}
962963
},
963964
"$ref": "#/$defs/examples"
964-
},
965-
"content": {
966-
"properties": {
967-
"content": {
968-
"$ref": "#/$defs/content"
969-
}
970-
}
971965
}
972966
},
973967
"$ref": "#/$defs/specification-extensions",

schemas/v3.1/schema.yaml

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -363,8 +363,7 @@ $defs:
363363
properties:
364364
style:
365365
default: simple
366-
enum:
367-
- simple
366+
const: simple
368367

369368
styles-for-query:
370369
if:
@@ -394,8 +393,7 @@ $defs:
394393
properties:
395394
style:
396395
default: form
397-
enum:
398-
- form
396+
const: form
399397

400398
styles-for-form:
401399
if:
@@ -634,29 +632,25 @@ $defs:
634632
deprecated:
635633
default: false
636634
type: boolean
637-
allowEmptyValue:
638-
default: false
639-
type: boolean
635+
schema:
636+
$dynamicRef: '#meta'
637+
content:
638+
$ref: '#/$defs/content'
639+
oneOf:
640+
- required:
641+
- schema
642+
- required:
643+
- content
640644
dependentSchemas:
641645
schema:
642646
properties:
643647
style:
644648
default: simple
645-
enum:
646-
- simple
649+
const: simple
647650
explode:
648651
default: false
649652
type: boolean
650-
allowReserved:
651-
default: false
652-
type: boolean
653-
schema:
654-
$dynamicRef: '#meta'
655653
$ref: '#/$defs/examples'
656-
content:
657-
properties:
658-
content:
659-
$ref: '#/$defs/content'
660654
$ref: '#/$defs/specification-extensions'
661655
unevaluatedProperties: false
662656

0 commit comments

Comments
 (0)