Features

Features #

Protocols #

Here are the protocols that are supported by go-asyncapi for now:

* - not described in the AsyncAPI specification

AsyncAPI support #

The marked items below are supported by the go-asyncapi tool, unmarked items are in the roadmap.

For the reference, see AsyncAPI specification

AsyncAPI Entities:

  • AsyncAPI object
  • Identifier object ($id)
  • Info object
    • Contact object
    • License object
  • Default Content Type
  • Servers object
    • Server object
      • Server Variable object
      • Server Bindings object
  • Channels object
    • Channel object
      • Channel Bindings object
  • Messages object
    • Message object
      • Message Example object
      • Message Bindings object
  • Operations object
    • Operation object
      • Operation Trait object
      • Operation Reply object
        • Operation Reply Address object
      • Operation Bindings object
  • Parameters object
    • Parameter object
  • Tags object
    • Tag object
  • External Documentation object
  • Components object
  • Security Scheme object
  • OAuth Flows object
    • OAuth Flow object
  • Correlation ID object

Other features:

  • Reference object ($ref)
  • Schema object
    • Primitive types (number, string, boolean, etc.)
    • Object types
    • Array types
    • Polymorphism: OneOf, AnyOf, AllOf
  • Channel Address Expressions
  • Multi Format Schema object (link to non-AsyncAPI document)
  • Runtime Expression
  • Traits merge mechanism

Content types #

The following content types (MIME types) has the default implementation in the generated code:

You also can add any content type and its encoder/decoder code in templates, see more.

Infrastructure as code (IaC) generation #

The go-asyncapi tool supports the generation for the following engines: