Skip to content

No generated examples when using multi format schema object #1125

@Gyllsdorff

Description

@Gyllsdorff

Description

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

payload
Multi Format Schema Object | Schema Object | Reference Object
Definition of the message payload. If this is a Schema Object, then the schemaFormat will be assumed to be "application/vnd.aai.asyncapi+json;version=asyncapi" where the version is equal to the AsyncAPI Version String.

The AsyncAPI spec says we can provide the schemas in 3 ways:

  1. A inline schema
  2. A reference to a schema
  3. A object with the keys schemaFormat and schema where schema will be either a inline schema or a reference to a schema

If you use option 3 then MessageHelpers.generateExample will call the sample generator with the {"schemaFormat": ..., "schema": ...} root object instead of the actual schema that is found under schema.schema. 😅

Image

It is possible to work around this in some cases by providing the schema using option 1 or 2 if you only use a syntax that is compatible with application/vnd.aai.asyncapi+json but that don't support AVRO based schemas for example.

Fix:
Check in https://github.com/asyncapi/asyncapi-react/blob/master/library/src/helpers/message.ts#L9 if the object matches the shape of a "multi format schema object" and call the ´schema.schema` in that case.

I can provide a PR if that fix is acceptable.

Expected result
A basic example

Actual result
A empty example

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions