Skip to content

Commit 44da621

Browse files
authored
Merge pull request #3797 from handrews/param-fields-320
Clarify constraints on Param Obj fields (3.2.0 port of #3760)
2 parents 4365723 + a0896ab commit 44da621

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

versions/3.2.0.md

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

10541054

10551055
##### Fixed Fields
1056+
1057+
The rules for serialization of the parameter are specified in one of two ways.
1058+
Parameter Objects MUST include either a `content` field or a `schema` field, but not both.
1059+
1060+
###### Common Fixed Fields
1061+
1062+
These fields MAY be used with either `content` or `schema`.
1063+
10561064
Field Name | Type | Description
10571065
---|:---:|---
10581066
<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>
@@ -1062,8 +1070,10 @@ Field Name | Type | Description
10621070
<a name="parameterDeprecated"></a> deprecated | `boolean` | Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is `false`.
10631071
<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.
10641072

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

10681078
Field Name | Type | Description
10691079
---|:---:|---
@@ -1074,10 +1084,9 @@ Field Name | Type | Description
10741084
<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.
10751085
<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.
10761086

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

1089+
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.
10811090

10821091
Field Name | Type | Description
10831092
---|:---:|---

0 commit comments

Comments
 (0)