diff --git a/pages/docs/reference/specification/v3.0.0-next-major-spec.10.md b/pages/docs/reference/specification/v3.0.0-next-major-spec.11.md similarity index 97% rename from pages/docs/reference/specification/v3.0.0-next-major-spec.10.md rename to pages/docs/reference/specification/v3.0.0-next-major-spec.11.md index 6dcc94fc48a4..df3dc913cc1f 100644 --- a/pages/docs/reference/specification/v3.0.0-next-major-spec.10.md +++ b/pages/docs/reference/specification/v3.0.0-next-major-spec.11.md @@ -1,12 +1,12 @@ # ATTENTION: Work in progress -This version is not yet ready to be used. We're currently working on it. If you want to join the effort and participate in the development of the next major version of AsyncAPI, head over to the [GitHub Issue that we use for tracking 3.0 development progress](https://github.com/asyncapi/spec/issues/691). +This version is not yet ready to be used. We're currently working on it. If you want to join the effort and participate in the development of the next major version of AsyncAPI, head over to [GitHub Issue that we use for tracking 3.0 development progress](https://github.com/asyncapi/spec/issues/691). # AsyncAPI Specification -#### Disclaimer +#### Attribution -Part of this content has been taken from the great work done by the folks at the [OpenAPI Initiative](https://openapis.org). Mainly because **it's a great work** and we want to keep as much compatibility as possible with the [OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification). +Part of this content has been taken from the great work done by the folks at the [OpenAPI Initiative](https://openapis.org). #### Version 3.0.0 @@ -714,7 +714,7 @@ Holds a dictionary with all the [operations](#operationObject) this application Field Pattern | Type | Description ---|:---:|--- -{operationId} | [Operation Object](#channelObject) \| [Reference Object](#referenceObject) | The operation this application MUST implement. The field name (`operationId`) MUST be a string used to identify the operation in the document where it is defined, and its value is **case-sensitive**. Tools and libraries MAY use the `operationId` to uniquely identify an operation, therefore, it is RECOMMENDED to follow common programming naming conventions. +{operationId} | [Operation Object](#operationObject) \| [Reference Object](#referenceObject) | The operation this application MUST implement. The field name (`operationId`) MUST be a string used to identify the operation in the document where it is defined, and its value is **case-sensitive**. Tools and libraries MAY use the `operationId` to uniquely identify an operation, therefore, it is RECOMMENDED to follow common programming naming conventions. ##### Operations Object Example @@ -959,48 +959,34 @@ location: $message.header#/replyTo #### Parameters Object -Describes a map of parameters included in a channel name. +Describes a map of parameters included in a channel address. -This map MUST contain all the parameters used in the parent channel name. +This map MUST contain all the parameters used in the parent channel address. ##### Patterned Fields Field Pattern | Type | Description ---|:---:|--- -`^[A-Za-z0-9_\-]+$` | [Parameter Object](#parameterObject) | [Reference Object](#referenceObject) | The key represents the name of the parameter. It MUST match the parameter name used in the parent channel name. +`^[A-Za-z0-9_\-]+$` | [Parameter Object](#parameterObject) | [Reference Object](#referenceObject) | The key represents the name of the parameter. It MUST match the parameter name used in the parent channel address. ##### Parameters Object Example ```json { - "user/{userId}/signup": { - "parameters": { - "userId": { - "description": "Id of the user.", - "schema": { - "type": "string" - } - } - }, - "subscribe": { - "message": { - "$ref": "#/components/messages/userSignedUp" - } + "address": "user/{userId}/signedup", + "parameters": { + "userId": { + "description": "Id of the user." } } } ``` ```yaml -user/{userId}/signup: - parameters: - userId: - description: Id of the user. - schema: - type: string - subscribe: - message: - $ref: "#/components/messages/userSignedUp" +address: user/{userId}/signedup +parameters: + userId: + description: Id of the user. ``` @@ -1009,15 +995,17 @@ user/{userId}/signup: #### Parameter Object -Describes a parameter included in a channel name. +Describes a parameter included in a channel address. ##### Fixed Fields Field Name | Type | Description ---|:---:|--- -description | `string` | A verbose explanation of the parameter. [CommonMark syntax](https://spec.commonmark.org/) can be used for rich text representation. -schema | [Schema Object](#schemaObject) \| [Reference Object](#referenceObject) | Definition of the parameter. -location | `string` | A [runtime expression](#runtimeExpression) that specifies the location of the parameter value. Even when a definition for the target field exists, it MUST NOT be used to validate this parameter but, instead, the `schema` property MUST be used. +enum | [`string`] | An enumeration of string values to be used if the substitution options are from a limited set. +default | `string` | The default value to use for substitution, and to send, if an alternate value is _not_ supplied. +description | `string` | An optional description for the parameter. [CommonMark syntax](https://spec.commonmark.org/) MAY be used for rich text representation. +examples | [`string`] | An array of examples of the parameter value. +location | `string` | A [runtime expression](#runtimeExpression) that specifies the location of the parameter value. This object MAY be extended with [Specification Extensions](#specificationExtensions). @@ -1025,36 +1013,22 @@ This object MAY be extended with [Specification Extensions](#specificationExtens ```json { - "user/{userId}/signup": { - "parameters": { - "userId": { - "description": "Id of the user.", - "schema": { - "type": "string" - }, - "location": "$message.payload#/user/id" - } - }, - "subscribe": { - "message": { - "$ref": "#/components/messages/userSignedUp" - } + "address": "user/{userId}/signedup", + "parameters": { + "userId": { + "description": "Id of the user.", + "location": "$message.payload#/user/id" } } } ``` ```yaml -user/{userId}/signup: - parameters: - userId: - description: Id of the user. - schema: - type: string - location: $message.payload#/user/id - subscribe: - message: - $ref: "#/components/messages/userSignedUp" +address: user/{userId}/signedup +parameters: + userId: + description: Id of the user. + location: $message.payload#/user/id ``` @@ -2608,4 +2582,4 @@ binary | `string` | `binary` | any sequence of octets boolean | `boolean` | | | date | `string` | `date` | As defined by `full-date` - [RFC3339](https://www.rfc-editor.org/rfc/rfc3339.html#section-5.6) dateTime | `string` | `date-time` | As defined by `date-time` - [RFC3339](https://www.rfc-editor.org/rfc/rfc3339.html#section-5.6) -password | `string` | `password` | Used to hint UIs the input needs to be obscured. \ No newline at end of file +password | `string` | `password` | Used to hint UIs the input needs to be obscured. diff --git a/public/_redirects b/public/_redirects index db657de13060..77acbaa203b8 100644 --- a/public/_redirects +++ b/public/_redirects @@ -23,7 +23,7 @@ https://www.asyncapi.io/* https://www.asyncapi.com/:splat 301! # LATEST-SPEC-REDIRECTION:END # SPEC-REDIRECTION:START -/docs/reference/specification/3.0.0-next-major-spec.10 /docs/reference/specification/v3.0.0-next-major-spec.10 302! +/docs/reference/specification/3.0.0-next-major-spec.11 /docs/reference/specification/v3.0.0-next-major-spec.11 302! /docs/reference/specification/2.6.0 /docs/reference/specification/v2.6.0 302! /docs/reference/specification/2.5.0 /docs/reference/specification/v2.5.0 302! /docs/reference/specification/2.4.0 /docs/reference/specification/v2.4.0 302!