Skip to content

asyncapi: complete message traits and operation traits forms #3060

Open
@ben-lc

Description

@ben-lc

Summary

AsyncAPI v2.0 operation traits and message traits forms should allow to specify all the properties of the spec.

Expected behavior

Message traits form

It should allow to specify following properties (see spec) :

FIELD NAME TYPE DESCRIPTION
headers Schema Object Reference Object
correlationId Correlation ID Object Reference Object
schemaFormat string A string containing the name of the schema format/language used to define the message payload. If omitted, implementations should parse the payload as a Schema object.
contentType string The content type to use when encoding/decoding a message's payload. The value MUST be a specific media type (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field.
name string A machine-friendly name for the message.
title string A human-friendly title for the message.
summary string A short summary of what the message is about.
description string A verbose explanation of the message. CommonMark syntax can be used for rich text representation.
tags Tags Object A list of tags for API documentation control. Tags can be used for logical grouping of messages.
externalDocs External Documentation Object Additional external documentation for this message.
bindings Map[string, Message Bindings Object] A free-form map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the message.
examples [Map[string, any]] An array with examples of valid message objects.

Operation traits form

It should allow to specify following properties (see spec) :

FIELD NAME TYPE DESCRIPTION
operationId string Unique string used to identify the operation. The id MUST be unique among all operations described in the API. The operationId 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.
summary string A short summary of what the operation is about.
description string A verbose explanation of the operation. CommonMark syntax can be used for rich text representation.
tags Tags Object A list of tags for API documentation control. Tags can be used for logical grouping of operations.
externalDocs External Documentation Object Additional external documentation for this operation.
bindings Operation Bindings Object A free-form map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation.

Current behavior

Message traits forms

Following properties are missing:

  • name
  • contentType
  • schemaFormat
  • headers
  • correlationId: its is present on the form but wrongly implemented as a simple string and mapped to name property
  • externalDocs
  • bindings
  • examples

Operation traits forms

Following properties are missing:

  • operationId
  • externalDocs
  • bindings

Specifications

  • apicurio studio: 0.2.62.Final
  • apicurio data models: 1.1.31

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions