Skip to content

Resolved AsyncAPI 3.0 specification becomes invalid when channel.servers is dereferenced #1141

@MichakrawSB

Description

@MichakrawSB

According to the AsyncAPI 3.0 specification, the Channel Object includes a servers property, which must be a list of references. The documentation also states:

RECOMMENDED that parsers (or other software) dereference this property for a better development experience.

Image

https://www.asyncapi.com/docs/reference/specification/v3.0.0#channelObject

However, in practice, when the specification is fully resolved (all $ref replaced with actual objects), the resulting document is no longer a valid AsyncAPI specification. This leads to issues such as:

The resolved spec cannot be rendered by asyncapi-react.
Tools expecting a valid AsyncAPI document fail because the servers property now contains objects instead of references.

Questions:

  • why was this change introduced in AsyncAPI 3.0?
  • is this intended behavior - that a fully dereferenced specification is not valid according to the AsyncAPI schema?
  • if yes, what is the recommended approach for tools that need a resolved spec for rendering or processing?

Expected Behavior

  • a resolved specification should remain valid and renderable by official AsyncAPI tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ❔ QuestionA question about the spec or processes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions