Skip to content

Commit 78d39a1

Browse files
authored
Merge pull request #3796 from handrews/param-fields-311
Clarify constraints on Param Obj fields (3.1.1 port of #3760)
2 parents a602c46 + 856a1c2 commit 78d39a1

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

versions/3.1.1.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,6 +1065,14 @@ There are four possible parameter locations specified by the `in` field:
10651065

10661066

10671067
##### Fixed Fields
1068+
1069+
The rules for serialization of the parameter are specified in one of two ways.
1070+
Parameter Objects MUST include either a `content` field or a `schema` field, but not both.
1071+
1072+
###### Common Fixed Fields
1073+
1074+
These fields MAY be used with either `content` or `schema`.
1075+
10681076
Field Name | Type | Description
10691077
---|:---:|---
10701078
<a name="parameterName"></a>name | `string` | **REQUIRED**. The name of the parameter. Parameter names are *case sensitive*. <ul><li>If [`in`](#parameterIn) is `"path"`, the `name` field MUST correspond to a template expression occurring within the [path](#pathsPath) field in the [Paths Object](#pathsObject). See [Path Templating](#pathTemplating) for further information.<li>If [`in`](#parameterIn) is `"header"` and the `name` field is `"Accept"`, `"Content-Type"` or `"Authorization"`, the parameter definition SHALL be ignored.<li>For all other cases, the `name` corresponds to the parameter name used by the [`in`](#parameterIn) property.</ul>
@@ -1074,8 +1082,10 @@ Field Name | Type | Description
10741082
<a name="parameterDeprecated"></a> deprecated | `boolean` | Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is `false`.
10751083
<a name="parameterAllowEmptyValue"></a> allowEmptyValue | `boolean` | Sets the ability to pass empty-valued parameters. This is valid only for `query` parameters and allows sending a parameter with an empty value. Default value is `false`. If [`style`](#parameterStyle) is used, and if behavior is `n/a` (cannot be serialized), the value of `allowEmptyValue` SHALL be ignored. Use of this property is NOT RECOMMENDED, as it is likely to be removed in a later revision.
10761084

1077-
The rules for serialization of the parameter are specified in one of two ways.
1085+
###### Fixed Fields for use with `schema`
1086+
10781087
For simpler scenarios, a [`schema`](#parameterSchema) and [`style`](#parameterStyle) can describe the structure and syntax of the parameter.
1088+
When `example` or `examples` are provided in conjunction with the `schema` object, the example MUST follow the prescribed serialization strategy for the parameter.
10791089

10801090
Field Name | Type | Description
10811091
---|:---:|---
@@ -1086,10 +1096,9 @@ Field Name | Type | Description
10861096
<a name="parameterExample"></a>example | Any | Example of the parameter's potential value. The example SHOULD match the specified schema and encoding properties if present. The `example` field is mutually exclusive of the `examples` field. Furthermore, if referencing a `schema` that contains an example, the `example` value SHALL _override_ the example provided by the schema. To represent examples of media types that cannot naturally be represented in JSON or YAML, a string value can contain the example with escaping where necessary.
10871097
<a name="parameterExamples"></a>examples | Map[ `string`, [Example Object](#exampleObject) \| [Reference Object](#referenceObject)] | Examples of the parameter's potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The `examples` field is mutually exclusive of the `example` field. Furthermore, if referencing a `schema` that contains an example, the `examples` value SHALL _override_ the example provided by the schema.
10881098

1089-
For more complex scenarios, the [`content`](#parameterContent) property can define the media type and schema of the parameter.
1090-
A parameter MUST contain either a `schema` property, or a `content` property, but not both.
1091-
When `example` or `examples` are provided in conjunction with the `schema` object, the example MUST follow the prescribed serialization strategy for the parameter.
1099+
###### Fixed Fields and considerations for use with `content`
10921100

1101+
For more complex scenarios, the [`content`](#parameterContent) property can define the media type and schema of the parameter, as well as give examples of its use.
10931102

10941103
Field Name | Type | Description
10951104
---|:---:|---

0 commit comments

Comments
 (0)