Removed Link Parameters Object
MODIFY
versions/3.0.md
versions/3.0.md
@@ -51,7 +51,6 @@ Additional utilities can also take advantage of the resulting files, such as tes
- [Callback Object](#callbackObject)
- [Example Object](#exampleObject)
- [Link Object](#linkObject)
- - [Link Parameters Object](#linkParametersObject)
- [Header Object](#headerObject)
- [Tag Object](#tagObject)
- [Reference Object](#referenceObject)
@@ -1917,7 +1916,7 @@ The presence of a link does not guarantee the caller's ability to successfully i
As opposed to _dynamic_ links (links provided **in** the response payload), the OAS linking mechanism does not require that link information be provided in a specific response format at runtime.
-For computing links, and providing instructions to execute them, [variable substitution](#variableSubstitution) is used for accessing values in a response and using them as values while invoking the linked operation.
+Many operations require parameters to be passed, and these MAY be dynamic depending on the response itself. For computing links, and providing instructions to execute them, [variable substitution](#variableSubstitution) is used for accessing values in a response and using them as values while invoking the linked operation.
##### Fixed Fields
@@ -1925,7 +1924,7 @@ Field Name | Type | Description
---|:---:|---
<a name="linkOperationRef"></a>operationRef | `string` | a relative or absolute reference to an OAS operation. This field is mutually exclusive with the `operationId` field, and must point to the fragment of a valid OAS definition.
<a name="linkOperationId"></a>operationId | `string` | the name of an _existing_, resolvable OAS operation, as defined with a unique `operationId`. This field is mutually exclusive with the `operationRef` field. Relative `operationRef` values MAY be used to locate an existing [Operation Object](#operationObject) in the OAS.
-<a name="linkParameters"></a>parameters | [Link Parameters Object](#linkParametersObject) | an object representing parameters to pass to an operation as specified with `operationId` or identified via `operationRef`.
+<a name="linkParameters"></a>parameters | Map[`string` | Any \| [{expression}](#variableSubstitution) | A map representing parameters to pass to the operation as specified with `operationId` or identified via `operationRef`. The key is the parameter name to be used, whereas the value can be a constant or an expression to be evaluated and passed to the linked operation.
<a name="linkHeaders"></a>headers | Map[`string`, [Header Object](#headerObject) \| [Reference Object](#referenceObject)] | Maps a header name to its definition. Note that [RFC7230](https://tools.ietf.org/html/rfc7230#page-22) states header names are case insensitive. This represents the headers to pass to the linked resource. Where conflicts occur between these headers, and those defined in the related operation, these headers override.
<a name="linkDescription"></a>description | `string` | a description of the link, supports [CommonMark syntax](http://spec.commonmark.org/).
<a name="linkServer"></a>server | [Server Object](#serverObject) | a server object to be used by the target operation.
@@ -2317,45 +2316,6 @@ components:
Note that in the use of `operationRef`, the _escaped forward-slash_ is necessary when
using JSON references.
-#### <a name="linkParametersObject"></a>Link Parameters Object
-Using the `operationId` to reference an operation in the definition has many benefits, including the ability to define media type options, security requirements, response and error payloads.
-Many operations require parameters to be passed, and these MAY be dynamic depending on the response itself.
-
-To specify parameters required by the operation, we can use a **Link Parameters Object**.
-This object contains parameter names along with static or dynamic values:
-
-##### Patterned Fields
-Field Pattern | Type | Description
----|:---:|---
-<a name="linkParameterName"></a> {name} | Any \| [{expression}](#variableSubstitution) | A constant value or expression to be evaluated and passed to the linked operation.
-
-```yaml
-paths:
- /user/{username}: # ...
- /user/{username}/commits:
- get:
- operationId: userCommitHistory
- parameters:
- - name: username
- in: path
- type: string
- required: true
- - name: page
- type: integer
- format: int32
- required: true
- responses: { ... }
-components:
- links:
- UserCommitHistory:
- operationId: userCommitHistory
- parameters:
- username: $response.body#/user/username
- page: 0
-```
-
-In the above, the link for `UserCommitHistory` points to the operation `getUserCommitHistory`, and passes the `username` value from the response payload as well as the static scalar value `0`.
-
#### <a name="headerObject"></a>Header Object
The Header Object follows the structure of the [Parameter Object](#parameterObject), with the following changes:

Removed Link Parameters Object