chore(deps): Bump io-swagger-core-v3 from 2.2.40 to 2.2.41 #3520
GitHub Actions / test-plugin-kafka-junit
failed
Dec 20, 2025 in 0s
37 tests run, 28 passed, 1 skipped, 8 failed.
Annotations
github-actions / test-plugin-kafka-junit
ApiIntegrationTest.asyncApiResourceForVehicleGroupArtifactTest()
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "This group only contains endpoints that are related to vehicles.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-apitype": "internal",
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
}
},
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase",
"title": "VehicleBase",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
}
},
"operations": {
"vehicle-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/vehicle-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
]
}
}
}"
but was:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "This group only contains endpoints that are related to vehicles.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-apitype": "internal",
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
}
},
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase",
"title": "VehicleBase",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
}
},
"operations": {
"vehicle-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/vehicle-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
]
}
}
}"
Raw output
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "This group only contains endpoints that are related to vehicles.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-apitype": "internal",
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
}
},
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase",
"title": "VehicleBase",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
}
},
"operations": {
"vehicle-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/vehicle-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
]
}
}
}"
but was:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "This group only contains endpoints that are related to vehicles.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-apitype": "internal",
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
}
},
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase",
"title": "VehicleBase",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
}
},
"operations": {
"vehicle-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/vehicle-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
]
}
}
}"
at app//io.github.springwolf.examples.kafka.ApiIntegrationTest.asyncApiResourceForVehicleGroupArtifactTest(ApiIntegrationTest.java:69)
github-actions / test-plugin-kafka-junit
ApiIntegrationTest.asyncApiResourceArtifactTest()
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/com
Raw output
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/com
github-actions / test-plugin-kafka-junit
ApiIntegrationTest.asyncApiResourceArtifactYamlTest()
org.opentest4j.AssertionFailedError:
expected:
"asyncapi: 3.0.0
info:
title: Springwolf example project - Kafka
version: 1.0.0
description: "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)\
\ to demonstrate springwolfs abilities, including **markdown** support for descriptions."
termsOfService: http://asyncapi.org/terms
contact:
name: springwolf
url: https://github.com/springwolf/springwolf-core
email: [email protected]
license:
name: Apache License 2.0
x-generator: springwolf
defaultContentType: application/json
servers:
kafka-server:
host: kafka:29092
protocol: kafka
channels:
another-topic:
address: another-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
avro-topic:
address: avro-topic
messages:
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
bindings:
kafka:
bindingVersion: 0.5.0
example-topic:
address: example-topic
messages:
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
integer-topic:
address: integer-topic
messages:
java.lang.Integer:
$ref: "#/components/messages/java.lang.Integer"
bindings:
kafka:
bindingVersion: 0.5.0
multi-payload-topic:
address: multi-payload-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
javax.money.MonetaryAmount:
$ref: "#/components/messages/javax.money.MonetaryAmount"
bindings:
kafka:
topic: multi-payload-topic
partitions: 3
replicas: 1
topicConfiguration:
cleanup.policy:
- compact
- delete
retention.ms: 86400000
retention.bytes: -1
delete.retention.ms: 86400000
max.message.bytes: 1048588
bindingVersion: 0.5.0
no-payload-used-topic:
address: no-payload-used-topic
messages:
PayloadNotUsed:
$ref: "#/components/messages/PayloadNotUsed"
bindings:
kafka:
bindingVersion: 0.5.0
nullable-topic:
address: nullable-topic
messages:
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
protobuf-topic:
address: protobuf-topic
messages:
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
bindings:
kafka:
bindingVersion: 0.5.0
string-topic:
address: string-topic
messages:
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
java.lang.String:
$ref: "#/components/messages/java.lang.String"
bindings:
kafka:
bindingVersion: 0.5.0
topic-defined-via-asyncPublisher-annotation:
address: topic-defined-via-asyncPublisher-annotation
messages:
io.github.springwolf.examples.kafka.dtos.NestedPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
servers:
- $ref: "#/servers/kafka-server"
bindings: {}
vehicle-topic:
address: vehicle-topic
messages:
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
bindings:
kafka:
bindingVersion: 0.5.0
xml-topic:
address: xml-topic
messages:
io.github.springwolf.examples.kafka.dtos.XmlPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
yaml-topic:
address: yaml-topic
messages:
io.github.springwolf.examples.kafka.dtos.YamlPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
components:
schemas:
HeadersNotDocumented:
title: HeadersNotDocumented
type: object
properties: {}
description: "There can be headers, but they are not explicitly documented."
examples:
- {}
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: "There can be headers, but they are not explicitly documented."
title: HeadersNotDocumented
type: object
HeadersNotUsed:
title: HeadersNotUsed
type: object
properties: {}
description: No headers are present.
examples:
- {}
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: No headers are present.
title: HeadersNotUsed
type: object
PayloadNotUsed:
title: PayloadNotUsed
type: object
properties: {}
description: No payload specified
examples:
- {}
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: No payload specified
title: PayloadNotUsed
type: object
SpringDefaultHeaderAndCloudEvent:
title: SpringDefaultHeaderAndCloudEvent
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
ce_id:
title: ce_id
type: string
description: CloudEvent Id Header
enum:
- 2c60089e-6f39-459d-8ced-2d6df7e4c03a
examples:
- 2c60089e-6f39-459d-8ced-2d6df7e4c03a
ce_source:
title: ce_source
type: string
description: CloudEvent Source Header
enum:
- http://localhost
examples:
- http://localhost
ce_specversion:
title: ce_specversion
type: string
description: CloudEvent Spec Version Header
enum:
- "1.0"
examples:
- "1.0"
ce_subject:
title: ce_subject
type: string
description: CloudEvent Subject Header
enum:
- Springwolf example project - Kafka
examples:
- Springwolf example project - Kafka
ce_time:
title: ce_time
type: string
description: CloudEvent Time Header
enum:
- 2023-10-28 20:01:23+00:00
examples:
- 2023-10-28 20:01:23+00:00
ce_type:
title: ce_type
type: string
description: CloudEvent Payload Type Header
enum:
- NestedPayloadDto.v1
examples:
- NestedPayloadDto.v1
content-type:
title: content-type
type: string
description: CloudEvent Content-Type Header
enum:
- application/json
examples:
- application/json
description: Spring __TypeId__ and CloudEvent Headers
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
ce_id: 2c60089e-6f39-459d-8ced-2d6df7e4c03a
ce_source: http://localhost
ce_specversion: "1.0"
ce_subject: Springwolf example project - Kafka
ce_time: 2023-10-28 20:01:23+00:00
ce_type: NestedPayloadDto.v1
content-type: application/json
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Spring __TypeId__ and CloudEvent Headers
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
title: __TypeId__
type: string
ce_id:
description: CloudEvent Id Header
enum:
- 2c60089e-6f39-459d-8ced-2d6df7e4c03a
title: ce_id
type: string
ce_source:
description: CloudEvent Source Header
enum:
- http://localhost
title: ce_source
type: string
ce_specversion:
description: CloudEvent Spec Version Header
enum:
- "1.0"
title: ce_specversion
type: string
ce_subject:
description: CloudEvent Subject Header
enum:
- Springwolf example project - Kafka
title: ce_subject
type: string
ce_time:
description: CloudEvent Time Header
enum:
- 2023-10-28 20:01:23+00:00
title: ce_time
type: string
ce_type:
description: CloudEvent Payload Type Header
enum:
- NestedPayloadDto.v1
title: ce_type
type: string
content-type:
description: CloudEvent Content-Type Header
enum:
- application/json
title: content-type
type: string
title: SpringDefaultHeaderAndCloudEvent
type: object
SpringKafkaDefaultHeaders-AnotherPayloadAvroDto:
title: SpringKafkaDefaultHeaders-AnotherPayloadAvroDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
examples:
- io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-AnotherPayloadAvroDto
type: object
SpringKafkaDefaultHeaders-AnotherPayloadDto:
title: SpringKafkaDefaultHeaders-AnotherPayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-AnotherPayloadDto
type: object
SpringKafkaDefaultHeaders-AnotherTopic:
title: SpringKafkaDefaultHeaders-AnotherTopic
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Type ID
my_uuid_field:
title: my_uuid_field
type: string
description: Event identifier
format: uuid
examples:
- __TypeId__: string
my_uuid_field: 3fa85f64-5717-4562-b3fc-2c963f66afa6
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Type ID
title: __TypeId__
type: string
my_uuid_field:
description: Event identifier
format: uuid
title: my_uuid_field
type: string
title: SpringKafkaDefaultHeaders-AnotherTopic
type: object
SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105:
title: SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
kafka_offset:
type: integer
format: int32
examples:
- 0
kafka_receivedMessageKey:
type: string
examples:
- '"string"'
kafka_recordMetadata:
title: ConsumerRecordMetadata
type: object
examples:
- {}
examples:
- ConsumerRecordMetadata: {}
__TypeId__: io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
kafka_offset: 0
kafka_receivedMessageKey: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
title: __TypeId__
type: string
kafka_offset:
format: int32
type: integer
kafka_receivedMessageKey:
type: string
kafka_recordMetadata:
title: ConsumerRecordMetadata
type: object
title: SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105
type: object
SpringKafkaDefaultHeaders-Message:
title: SpringKafkaDefaultHeaders-Message
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
examples:
- io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-Message
type: object
SpringKafkaDefaultHeaders-MonetaryAmount:
title: SpringKafkaDefaultHeaders-MonetaryAmount
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- javax.money.MonetaryAmount
examples:
- javax.money.MonetaryAmount
examples:
- __TypeId__: javax.money.MonetaryAmount
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- javax.money.MonetaryAmount
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-MonetaryAmount
type: object
SpringKafkaDefaultHeaders-PayloadNotUsed:
title: SpringKafkaDefaultHeaders-PayloadNotUsed
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- PayloadNotUsed
examples:
- PayloadNotUsed
examples:
- __TypeId__: PayloadNotUsed
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- PayloadNotUsed
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-PayloadNotUsed
type: object
SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto:
title: SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto
type: object
SpringKafkaDefaultHeaders-VehicleBase:
title: SpringKafkaDefaultHeaders-VehicleBase
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
examples:
- io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-VehicleBase
type: object
SpringKafkaDefaultHeaders-XmlPayloadDto:
title: SpringKafkaDefaultHeaders-XmlPayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-XmlPayloadDto
type: object
SpringKafkaDefaultHeaders-YamlPayloadDto:
title: SpringKafkaDefaultHeaders-YamlPayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-YamlPayloadDto
type: object
SpringKafkaDefaultHeaders-integer:
title: SpringKafkaDefaultHeaders-integer
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- java.lang.Integer
examples:
- java.lang.Integer
examples:
- __TypeId__: java.lang.Integer
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- java.lang.Integer
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-integer
type: object
SpringKafkaDefaultHeaders-string:
title: SpringKafkaDefaultHeaders-string
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- java.lang.String
examples:
- java.lang.String
examples:
- __TypeId__: java.lang.String
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- java.lang.String
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-string
type: object
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
type: string
description: Payload description using @Schema annotation and @AsyncApiPayload
within envelope class
maxLength: 100
examples:
- '"string"'
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Payload description using @Schema annotation and @AsyncApiPayload
within envelope class
maxLength: 100
type: string
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
title: AnotherPayloadAvroDto
type: object
properties:
examplePayloadAvroDto:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
examples:
- examplePayloadAvroDto:
someLong: 0
someString: string
someEnum: FOO1
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
examplePayloadAvroDto:
properties:
someLong:
format: int64
type: integer
someString:
type: string
title: ExamplePayloadAvroDto
type: object
someEnum:
enum:
- FOO1
- FOO2
- FOO3
type: string
title: AnotherPayloadAvroDto
type: object
io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto:
title: ExamplePayloadAvroDto
type: object
properties:
someLong:
type: integer
format: int64
someString:
type: string
examples:
- someLong: 0
someString: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someLong:
format: int64
type: integer
someString:
type: string
title: ExamplePayloadAvroDto
type: object
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
title: Message
type: object
properties:
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
- UNRECOGNIZED
someLong:
type: integer
format: int64
someString:
type: string
examples:
- someEnum: FOO1
someLong: 0
someString: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someEnum:
enum:
- FOO1
- FOO2
- FOO3
- UNRECOGNIZED
type: string
someLong:
format: int64
type: integer
someString:
type: string
title: Message
type: object
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
title: AnotherPayloadDto
type: object
properties:
example:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
foo:
type: string
description: Foo field
maxLength: 100
examples:
- bar
description: Another payload model
examples:
- example:
someEnum: FOO2
someLong: 5
someString: some string value
foo: bar
required:
- example
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Another payload model
properties:
example:
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
properties:
someEnum:
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
description: Some long field
format: int64
minimum: 0
type: integer
someString:
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
type: string
required:
- someEnum
- someString
title: ExamplePayloadDto
type: object
foo:
description: Foo field
maxLength: 100
type: string
required:
- example
title: AnotherPayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
title: ExamplePayloadDto
type: object
properties:
someEnum:
type: string
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
examples:
- FOO2
someLong:
type: integer
description: Some long field
format: int64
minimum: 0
examples:
- 5
someString:
type: string
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
examples:
- some string value
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
examples:
- someEnum: FOO2
someLong: 5
someString: some string value
required:
- someEnum
- someString
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
properties:
someEnum:
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
description: Some long field
format: int64
minimum: 0
type: integer
someString:
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
type: string
required:
- someEnum
- someString
title: ExamplePayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.NestedPayloadDto:
title: NestedPayloadDto
type: object
properties:
examplePayloads:
type: array
items:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
someStrings:
type: array
items:
type: string
description: Some string field
examples:
- some string value
uniqueItems: true
description: Payload model with nested complex types
examples:
- examplePayloads:
- someEnum: FOO2
someLong: 5
someString: some string value
someStrings:
- some string value
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Payload model with nested complex types
properties:
examplePayloads:
items:
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
properties:
someEnum:
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
description: Some long field
format: int64
minimum: 0
type: integer
someString:
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
type: string
required:
- someEnum
- someString
title: ExamplePayloadDto
type: object
type: array
someStrings:
items:
description: Some string field
type: string
type: array
uniqueItems: true
title: NestedPayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
title: RequiredAndNullablePayloadDto
type: object
properties:
enumField:
type:
- string
- "null"
description: Follows OpenAPI 3.1 spec
enum:
- COMPLEX1
- COMPLEX2
- null
notRequiredField:
type: string
description: "This field can be skipped, but value cannot be null"
requiredAndNullableField:
type:
- string
- "null"
description: "This field can be skipped, or value can be null or present"
requiredButNullableField:
type:
- string
- "null"
description: "This field must be present, but value can be null"
requiredField:
type: string
description: "This field must be present, and value cannot be null"
description: "Demonstrate required and nullable. Note, @Schema is only descriptive\
\ without nullability check"
examples:
- enumField: COMPLEX1
notRequiredField: string
requiredAndNullableField: string
requiredButNullableField: string
requiredField: string
required:
- enumField
- requiredButNullableField
- requiredField
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: "Demonstrate required and nullable. Note, @Schema is only descriptive\
\ without nullability check"
properties:
enumField:
description: Follows OpenAPI 3.1 spec
enum:
- COMPLEX1
- COMPLEX2
- null
type:
- string
- "null"
notRequiredField:
description: "This field can be skipped, but value cannot be null"
type: string
requiredAndNullableField:
description: "This field can be skipped, or value can be null or present"
type:
- string
- "null"
requiredButNullableField:
description: "This field must be present, but value can be null"
type:
- string
- "null"
requiredField:
description: "This field must be present, and value cannot be null"
type: string
required:
- enumField
- requiredButNullableField
- requiredField
title: RequiredAndNullablePayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.XmlPayloadDto:
title: XmlPayloadDto
type: string
properties:
someAttribute:
type: string
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
someLong:
type: integer
format: int64
someString:
type: string
examples:
- <io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute="string"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someAttribute: {}
someEnum:
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
format: int64
type: integer
someString:
type: string
title: XmlPayloadDto
type: string
io.github.springwolf.examples.kafka.dtos.YamlPayloadDto:
title: YamlPayloadDto
type: string
properties:
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
someLong:
type: integer
format: int64
someString:
type: string
examples:
- |
someEnum: FOO1
someLong: 0
someString: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someEnum:
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
format: int64
type: integer
someString:
type: string
title: YamlPayloadDto
type: string
io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower:
title: EnginePower
type: object
properties:
hp:
type: integer
format: int32
torque:
type: integer
format: int32
examples:
- hp: 0
torque: 0
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
hp:
format: int32
type: integer
torque: {}
title: EnginePower
type: object
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase:
discriminator: vehicleType
title: VehicleBase
type: object
properties:
enginePower:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
powerSource:
type: string
topSpeed:
type: integer
format: int32
vehicleType:
type: string
description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
examples:
- batteryCapacity: 0
chargeTime: 0
enginePower:
hp: 0
torque: 0
powerSource: string
topSpeed: 0
vehicleType: string
oneOf:
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
oneOf:
- allOf:
- {}
- properties:
batteryCapacity: {}
chargeTime:
format: int32
type: integer
type: object
description: Electric vehicle implementation of VehicleBase
type: object
- allOf:
- {}
- properties:
fuelCapacity: {}
type: object
description: Gasoline vehicle implementation of VehicleBase
type: object
properties:
enginePower:
properties:
hp: {}
torque: {}
title: EnginePower
type: object
powerSource:
type: string
topSpeed: {}
vehicleType: {}
title: VehicleBase
type: object
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto:
type: object
description: Electric vehicle implementation of VehicleBase
examples:
- batteryCapacity: 0
chargeTime: 0
enginePower:
hp: 0
torque: 0
powerSource: string
topSpeed: 0
vehicleType: string
allOf:
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
- type: object
properties:
batteryCapacity:
type: integer
format: int32
chargeTime:
type: integer
format: int32
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
allOf:
- description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
oneOf:
- {}
- allOf:
- {}
- properties:
fuelCapacity:
format: int32
type: integer
type: object
description: Gasoline vehicle implementation of VehicleBase
type: object
properties:
enginePower:
properties:
hp: {}
torque: {}
title: EnginePower
type: object
powerSource:
type: string
topSpeed: {}
vehicleType: {}
title: VehicleBase
type: object
- properties:
batteryCapacity: {}
chargeTime: {}
type: object
description: Electric vehicle implementation of VehicleBase
type: object
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto:
type: object
description: Gasoline vehicle implementation of VehicleBase
examples:
- enginePower:
hp: 0
torque: 0
fuelCapacity: 0
powerSource: string
topSpeed: 0
vehicleType: string
allOf:
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
- type: object
properties:
fuelCapacity:
type: integer
format: int32
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
allOf:
- description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
oneOf:
- allOf:
- {}
- properties:
batteryCapacity: {}
chargeTime:
format: int32
type: integer
type: object
description: Electric vehicle implementation of VehicleBase
type: object
- {}
properties:
enginePower:
properties:
hp: {}
torque: {}
title: EnginePower
type: object
powerSource:
type: string
topSpeed: {}
vehicleType: {}
title: VehicleBase
type: object
- properties:
fuelCapacity: {}
type: object
description: Gasoline vehicle implementation of VehicleBase
type: object
java.lang.Integer:
type: integer
format: int32
examples:
- 0
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
format: int32
type: integer
java.lang.String:
type: string
examples:
- '"string"'
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
type: string
javax.money.MonetaryAmount:
type: object
properties:
amount:
type: number
exclusiveMinimum: 0.01
examples:
- 99.99
currency:
type: string
examples:
- USD
examples:
- amount: 99.99
currency: USD
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
amount:
exclusiveMinimum: 0.01
type: number
currency:
type: string
type: object
messages:
PayloadNotUsed:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
title: PayloadNotUsed
type: object
properties: {}
description: No payload specified
name: PayloadNotUsed
title: PayloadNotUsed
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
headers:
$ref: "#/components/schemas/HeadersNotUsed"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
name: StringPayload
title: StringEnvelope
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
headers:
$ref: "#/components/schemas/HeadersNotDocumented"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
name: io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
title: AnotherPayloadAvroDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-Message"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
name: io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
title: Message
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-AnotherTopic"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
name: io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
title: AnotherPayloadDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
name: io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
title: ExamplePayloadDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.NestedPayloadDto:
headers:
$ref: "#/components/schemas/SpringDefaultHeaderAndCloudEvent"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
name: io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
title: NestedPayloadDto
bindings:
kafka:
key:
type: string
description: Kafka Producer Message Key
examples:
- example-key
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
name: io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
title: RequiredAndNullablePayloadDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.XmlPayloadDto:
headers:
$ref: "#/components/schemas/HeadersNotDocumented"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
contentType: text/xml
name: io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
title: XmlPayloadDto
description: Showcases a xml based message
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.YamlPayloadDto:
headers:
$ref: "#/components/schemas/HeadersNotDocumented"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
contentType: application/yaml
name: io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
title: YamlPayloadDto
description: Showcases a yaml based message
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
name: io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
title: VehicleBase
bindings:
kafka:
bindingVersion: 0.5.0
java.lang.Integer:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-integer"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
type: integer
format: int32
examples:
- 0
name: java.lang.Integer
title: integer
bindings:
kafka:
bindingVersion: 0.5.0
java.lang.String:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-string"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
type: string
examples:
- '"string"'
name: java.lang.String
title: string
bindings:
kafka:
bindingVersion: 0.5.0
javax.money.MonetaryAmount:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-MonetaryAmount"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/javax.money.MonetaryAmount"
name: javax.money.MonetaryAmount
title: MonetaryAmount
bindings:
kafka:
key:
type: string
description: Kafka Consumer Message Key
examples:
- example-key
bindingVersion: 0.5.0
operations:
another-topic_receive_receiveAnotherPayloadBatched:
action: receive
channel:
$ref: "#/channels/another-topic"
bindings:
kafka:
groupId:
type: string
enum:
- example-group-id
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
another-topic_send_sendMessage:
action: send
channel:
$ref: "#/channels/another-topic"
title: another-topic_send
description: Auto-generated description
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
avro-topic_receive_receiveExampleAvroPayload:
action: receive
channel:
$ref: "#/channels/avro-topic"
title: avro-topic_receive
description: Requires a running kafka-schema-registry. See docker-compose.yml
to start it
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/avro-topic/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
example-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/example-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/example-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
integer-topic_receive_receiveIntegerPayload:
action: receive
channel:
$ref: "#/channels/integer-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/integer-topic/messages/java.lang.Integer"
multi-payload-topic_receive_ExampleClassLevelKafkaListener:
action: receive
channel:
$ref: "#/channels/multi-payload-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
- $ref: "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
- $ref: "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
multi-payload-topic_receive_receiveMonetaryAmount:
action: receive
channel:
$ref: "#/channels/multi-payload-topic"
title: multi-payload-topic_receive
description: Override description in the AsyncListener annotation with servers
at kafka:29092
bindings:
kafka:
groupId:
type: string
enum:
- foo-groupId
clientId:
type: string
enum:
- foo-clientId
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
no-payload-used-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/no-payload-used-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/no-payload-used-topic/messages/PayloadNotUsed"
nullable-topic_receive_receiveNullablePayload:
action: receive
channel:
$ref: "#/channels/nullable-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/nullable-topic/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
protobuf-topic_receive_receiveExampleProtobufPayload:
action: receive
channel:
$ref: "#/channels/protobuf-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/protobuf-topic/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
string-topic_receive_receiveStringPayload:
action: receive
channel:
$ref: "#/channels/string-topic"
title: string-topic_receive
description: Final classes (like String) can be documented using an envelope class
and the @AsyncApiPayload annotation.
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/string-topic/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
- $ref: "#/channels/string-topic/messages/java.lang.String"
topic-defined-via-asyncPublisher-annotation_send_sendMessage:
action: send
channel:
$ref: "#/channels/topic-defined-via-asyncPublisher-annotation"
title: topic-defined-via-asyncPublisher-annotation_send
description: "Custom, optional description defined in the AsyncPublisher annotation"
bindings:
kafka:
clientId:
type: string
enum:
- foo-clientId
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/topic-defined-via-asyncPublisher-annotation/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
vehicle-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/vehicle-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
xml-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/xml-topic"
title: xml-topic_receive
description: Auto-generated description
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/xml-topic/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
yaml-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/yaml-topic"
title: yaml-topic_receive
description: Auto-generated description
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/yaml-topic/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto""
but was:
"asyncapi: 3.0.0
info:
title: Springwolf example project - Kafka
version: 1.0.0
description: "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)\
\ to demonstrate springwolfs abilities, including **markdown** support for descriptions."
termsOfService: http://asyncapi.org/terms
contact:
name: springwolf
url: https://github.com/springwolf/springwolf-core
email: [email protected]
license:
name: Apache License 2.0
x-generator: springwolf
defaultContentType: application/json
servers:
kafka-server:
host: kafka:29092
protocol: kafka
channels:
another-topic:
address: another-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
avro-topic:
address: avro-topic
messages:
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
bindings:
kafka:
bindingVersion: 0.5.0
example-topic:
address: example-topic
messages:
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
integer-topic:
address: integer-topic
messages:
java.lang.Integer:
$ref: "#/components/messages/java.lang.Integer"
bindings:
kafka:
bindingVersion: 0.5.0
multi-payload-topic:
address: multi-payload-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
javax.money.MonetaryAmount:
$ref: "#/components/messages/javax.money.MonetaryAmount"
bindings:
kafka:
topic: multi-payload-topic
partitions: 3
replicas: 1
topicConfiguration:
cleanup.policy:
- compact
- delete
retention.ms: 86400000
retention.bytes: -1
delete.retention.ms: 86400000
max.message.bytes: 1048588
bindingVersion: 0.5.0
no-payload-used-topic:
address: no-payload-used-topic
messages:
PayloadNotUsed:
$ref: "#/components/messages/PayloadNotUsed"
bindings:
kafka:
bindingVersion: 0.5.0
nullable-topic:
address: nullable-topic
messages:
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
protobuf-topic:
address: protobuf-topic
messages:
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
bindings:
kafka:
bindingVersion: 0.5.0
string-topic:
address: string-topic
messages:
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
java.lang.String:
$ref: "#/components/messages/java.lang.String"
bindings:
kafka:
bindingVersion: 0.5.0
topic-defined-via-asyncPublisher-annotation:
address: topic-defined-via-asyncPublisher-annotation
messages:
io.github.springwolf.examples.kafka.d
Raw output
org.opentest4j.AssertionFailedError:
expected:
"asyncapi: 3.0.0
info:
title: Springwolf example project - Kafka
version: 1.0.0
description: "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)\
\ to demonstrate springwolfs abilities, including **markdown** support for descriptions."
termsOfService: http://asyncapi.org/terms
contact:
name: springwolf
url: https://github.com/springwolf/springwolf-core
email: [email protected]
license:
name: Apache License 2.0
x-generator: springwolf
defaultContentType: application/json
servers:
kafka-server:
host: kafka:29092
protocol: kafka
channels:
another-topic:
address: another-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
avro-topic:
address: avro-topic
messages:
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
bindings:
kafka:
bindingVersion: 0.5.0
example-topic:
address: example-topic
messages:
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
integer-topic:
address: integer-topic
messages:
java.lang.Integer:
$ref: "#/components/messages/java.lang.Integer"
bindings:
kafka:
bindingVersion: 0.5.0
multi-payload-topic:
address: multi-payload-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
javax.money.MonetaryAmount:
$ref: "#/components/messages/javax.money.MonetaryAmount"
bindings:
kafka:
topic: multi-payload-topic
partitions: 3
replicas: 1
topicConfiguration:
cleanup.policy:
- compact
- delete
retention.ms: 86400000
retention.bytes: -1
delete.retention.ms: 86400000
max.message.bytes: 1048588
bindingVersion: 0.5.0
no-payload-used-topic:
address: no-payload-used-topic
messages:
PayloadNotUsed:
$ref: "#/components/messages/PayloadNotUsed"
bindings:
kafka:
bindingVersion: 0.5.0
nullable-topic:
address: nullable-topic
messages:
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
protobuf-topic:
address: protobuf-topic
messages:
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
bindings:
kafka:
bindingVersion: 0.5.0
string-topic:
address: string-topic
messages:
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
java.lang.String:
$ref: "#/components/messages/java.lang.String"
bindings:
kafka:
bindingVersion: 0.5.0
topic-defined-via-asyncPublisher-annotation:
address: topic-defined-via-asyncPublisher-annotation
messages:
io.github.springwolf.examples.kafka.dtos.NestedPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
servers:
- $ref: "#/servers/kafka-server"
bindings: {}
vehicle-topic:
address: vehicle-topic
messages:
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
bindings:
kafka:
bindingVersion: 0.5.0
xml-topic:
address: xml-topic
messages:
io.github.springwolf.examples.kafka.dtos.XmlPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
yaml-topic:
address: yaml-topic
messages:
io.github.springwolf.examples.kafka.dtos.YamlPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
components:
schemas:
HeadersNotDocumented:
title: HeadersNotDocumented
type: object
properties: {}
description: "There can be headers, but they are not explicitly documented."
examples:
- {}
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: "There can be headers, but they are not explicitly documented."
title: HeadersNotDocumented
type: object
HeadersNotUsed:
title: HeadersNotUsed
type: object
properties: {}
description: No headers are present.
examples:
- {}
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: No headers are present.
title: HeadersNotUsed
type: object
PayloadNotUsed:
title: PayloadNotUsed
type: object
properties: {}
description: No payload specified
examples:
- {}
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: No payload specified
title: PayloadNotUsed
type: object
SpringDefaultHeaderAndCloudEvent:
title: SpringDefaultHeaderAndCloudEvent
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
ce_id:
title: ce_id
type: string
description: CloudEvent Id Header
enum:
- 2c60089e-6f39-459d-8ced-2d6df7e4c03a
examples:
- 2c60089e-6f39-459d-8ced-2d6df7e4c03a
ce_source:
title: ce_source
type: string
description: CloudEvent Source Header
enum:
- http://localhost
examples:
- http://localhost
ce_specversion:
title: ce_specversion
type: string
description: CloudEvent Spec Version Header
enum:
- "1.0"
examples:
- "1.0"
ce_subject:
title: ce_subject
type: string
description: CloudEvent Subject Header
enum:
- Springwolf example project - Kafka
examples:
- Springwolf example project - Kafka
ce_time:
title: ce_time
type: string
description: CloudEvent Time Header
enum:
- 2023-10-28 20:01:23+00:00
examples:
- 2023-10-28 20:01:23+00:00
ce_type:
title: ce_type
type: string
description: CloudEvent Payload Type Header
enum:
- NestedPayloadDto.v1
examples:
- NestedPayloadDto.v1
content-type:
title: content-type
type: string
description: CloudEvent Content-Type Header
enum:
- application/json
examples:
- application/json
description: Spring __TypeId__ and CloudEvent Headers
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
ce_id: 2c60089e-6f39-459d-8ced-2d6df7e4c03a
ce_source: http://localhost
ce_specversion: "1.0"
ce_subject: Springwolf example project - Kafka
ce_time: 2023-10-28 20:01:23+00:00
ce_type: NestedPayloadDto.v1
content-type: application/json
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Spring __TypeId__ and CloudEvent Headers
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
title: __TypeId__
type: string
ce_id:
description: CloudEvent Id Header
enum:
- 2c60089e-6f39-459d-8ced-2d6df7e4c03a
title: ce_id
type: string
ce_source:
description: CloudEvent Source Header
enum:
- http://localhost
title: ce_source
type: string
ce_specversion:
description: CloudEvent Spec Version Header
enum:
- "1.0"
title: ce_specversion
type: string
ce_subject:
description: CloudEvent Subject Header
enum:
- Springwolf example project - Kafka
title: ce_subject
type: string
ce_time:
description: CloudEvent Time Header
enum:
- 2023-10-28 20:01:23+00:00
title: ce_time
type: string
ce_type:
description: CloudEvent Payload Type Header
enum:
- NestedPayloadDto.v1
title: ce_type
type: string
content-type:
description: CloudEvent Content-Type Header
enum:
- application/json
title: content-type
type: string
title: SpringDefaultHeaderAndCloudEvent
type: object
SpringKafkaDefaultHeaders-AnotherPayloadAvroDto:
title: SpringKafkaDefaultHeaders-AnotherPayloadAvroDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
examples:
- io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-AnotherPayloadAvroDto
type: object
SpringKafkaDefaultHeaders-AnotherPayloadDto:
title: SpringKafkaDefaultHeaders-AnotherPayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-AnotherPayloadDto
type: object
SpringKafkaDefaultHeaders-AnotherTopic:
title: SpringKafkaDefaultHeaders-AnotherTopic
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Type ID
my_uuid_field:
title: my_uuid_field
type: string
description: Event identifier
format: uuid
examples:
- __TypeId__: string
my_uuid_field: 3fa85f64-5717-4562-b3fc-2c963f66afa6
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Type ID
title: __TypeId__
type: string
my_uuid_field:
description: Event identifier
format: uuid
title: my_uuid_field
type: string
title: SpringKafkaDefaultHeaders-AnotherTopic
type: object
SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105:
title: SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
kafka_offset:
type: integer
format: int32
examples:
- 0
kafka_receivedMessageKey:
type: string
examples:
- '"string"'
kafka_recordMetadata:
title: ConsumerRecordMetadata
type: object
examples:
- {}
examples:
- ConsumerRecordMetadata: {}
__TypeId__: io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
kafka_offset: 0
kafka_receivedMessageKey: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
title: __TypeId__
type: string
kafka_offset:
format: int32
type: integer
kafka_receivedMessageKey:
type: string
kafka_recordMetadata:
title: ConsumerRecordMetadata
type: object
title: SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105
type: object
SpringKafkaDefaultHeaders-Message:
title: SpringKafkaDefaultHeaders-Message
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
examples:
- io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-Message
type: object
SpringKafkaDefaultHeaders-MonetaryAmount:
title: SpringKafkaDefaultHeaders-MonetaryAmount
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- javax.money.MonetaryAmount
examples:
- javax.money.MonetaryAmount
examples:
- __TypeId__: javax.money.MonetaryAmount
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- javax.money.MonetaryAmount
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-MonetaryAmount
type: object
SpringKafkaDefaultHeaders-PayloadNotUsed:
title: SpringKafkaDefaultHeaders-PayloadNotUsed
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- PayloadNotUsed
examples:
- PayloadNotUsed
examples:
- __TypeId__: PayloadNotUsed
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- PayloadNotUsed
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-PayloadNotUsed
type: object
SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto:
title: SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto
type: object
SpringKafkaDefaultHeaders-VehicleBase:
title: SpringKafkaDefaultHeaders-VehicleBase
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
examples:
- io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-VehicleBase
type: object
SpringKafkaDefaultHeaders-XmlPayloadDto:
title: SpringKafkaDefaultHeaders-XmlPayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-XmlPayloadDto
type: object
SpringKafkaDefaultHeaders-YamlPayloadDto:
title: SpringKafkaDefaultHeaders-YamlPayloadDto
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
examples:
- io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
examples:
- __TypeId__: io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-YamlPayloadDto
type: object
SpringKafkaDefaultHeaders-integer:
title: SpringKafkaDefaultHeaders-integer
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- java.lang.Integer
examples:
- java.lang.Integer
examples:
- __TypeId__: java.lang.Integer
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- java.lang.Integer
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-integer
type: object
SpringKafkaDefaultHeaders-string:
title: SpringKafkaDefaultHeaders-string
type: object
properties:
__TypeId__:
title: __TypeId__
type: string
description: Spring Type Id Header
enum:
- java.lang.String
examples:
- java.lang.String
examples:
- __TypeId__: java.lang.String
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
__TypeId__:
description: Spring Type Id Header
enum:
- java.lang.String
title: __TypeId__
type: string
title: SpringKafkaDefaultHeaders-string
type: object
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
type: string
description: Payload description using @Schema annotation and @AsyncApiPayload
within envelope class
maxLength: 100
examples:
- '"string"'
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Payload description using @Schema annotation and @AsyncApiPayload
within envelope class
maxLength: 100
type: string
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
title: AnotherPayloadAvroDto
type: object
properties:
examplePayloadAvroDto:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
examples:
- examplePayloadAvroDto:
someLong: 0
someString: string
someEnum: FOO1
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
examplePayloadAvroDto:
properties:
someLong:
format: int64
type: integer
someString:
type: string
title: ExamplePayloadAvroDto
type: object
someEnum:
enum:
- FOO1
- FOO2
- FOO3
type: string
title: AnotherPayloadAvroDto
type: object
io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto:
title: ExamplePayloadAvroDto
type: object
properties:
someLong:
type: integer
format: int64
someString:
type: string
examples:
- someLong: 0
someString: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someLong:
format: int64
type: integer
someString:
type: string
title: ExamplePayloadAvroDto
type: object
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
title: Message
type: object
properties:
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
- UNRECOGNIZED
someLong:
type: integer
format: int64
someString:
type: string
examples:
- someEnum: FOO1
someLong: 0
someString: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someEnum:
enum:
- FOO1
- FOO2
- FOO3
- UNRECOGNIZED
type: string
someLong:
format: int64
type: integer
someString:
type: string
title: Message
type: object
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
title: AnotherPayloadDto
type: object
properties:
example:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
foo:
type: string
description: Foo field
maxLength: 100
examples:
- bar
description: Another payload model
examples:
- example:
someEnum: FOO2
someLong: 5
someString: some string value
foo: bar
required:
- example
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Another payload model
properties:
example:
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
properties:
someEnum:
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
description: Some long field
format: int64
minimum: 0
type: integer
someString:
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
type: string
required:
- someEnum
- someString
title: ExamplePayloadDto
type: object
foo:
description: Foo field
maxLength: 100
type: string
required:
- example
title: AnotherPayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
title: ExamplePayloadDto
type: object
properties:
someEnum:
type: string
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
examples:
- FOO2
someLong:
type: integer
description: Some long field
format: int64
minimum: 0
examples:
- 5
someString:
type: string
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
examples:
- some string value
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
examples:
- someEnum: FOO2
someLong: 5
someString: some string value
required:
- someEnum
- someString
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
properties:
someEnum:
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
description: Some long field
format: int64
minimum: 0
type: integer
someString:
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
type: string
required:
- someEnum
- someString
title: ExamplePayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.NestedPayloadDto:
title: NestedPayloadDto
type: object
properties:
examplePayloads:
type: array
items:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
someStrings:
type: array
items:
type: string
description: Some string field
examples:
- some string value
uniqueItems: true
description: Payload model with nested complex types
examples:
- examplePayloads:
- someEnum: FOO2
someLong: 5
someString: some string value
someStrings:
- some string value
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Payload model with nested complex types
properties:
examplePayloads:
items:
description: |
Example payload model demonstrating markdown text styling:
**bold**, *cursive* and <u>underlined</u>
properties:
someEnum:
description: Some enum field
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
description: Some long field
format: int64
minimum: 0
type: integer
someString:
description: |
### Some string field with Markdown
- **bold**
- *cursive*
- images: <img src="./assets/springwolf-logo.png" alt="Springwolf" height="50"/>
- and code blocks (json, http, java)
```json
{
"key1":"value1",
"key2":"value2"
}
```
type: string
required:
- someEnum
- someString
title: ExamplePayloadDto
type: object
type: array
someStrings:
items:
description: Some string field
type: string
type: array
uniqueItems: true
title: NestedPayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
title: RequiredAndNullablePayloadDto
type: object
properties:
enumField:
type:
- string
- "null"
description: Follows OpenAPI 3.1 spec
enum:
- COMPLEX1
- COMPLEX2
- null
notRequiredField:
type: string
description: "This field can be skipped, but value cannot be null"
requiredAndNullableField:
type:
- string
- "null"
description: "This field can be skipped, or value can be null or present"
requiredButNullableField:
type:
- string
- "null"
description: "This field must be present, but value can be null"
requiredField:
type: string
description: "This field must be present, and value cannot be null"
description: "Demonstrate required and nullable. Note, @Schema is only descriptive\
\ without nullability check"
examples:
- enumField: COMPLEX1
notRequiredField: string
requiredAndNullableField: string
requiredButNullableField: string
requiredField: string
required:
- enumField
- requiredButNullableField
- requiredField
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: "Demonstrate required and nullable. Note, @Schema is only descriptive\
\ without nullability check"
properties:
enumField:
description: Follows OpenAPI 3.1 spec
enum:
- COMPLEX1
- COMPLEX2
- null
type:
- string
- "null"
notRequiredField:
description: "This field can be skipped, but value cannot be null"
type: string
requiredAndNullableField:
description: "This field can be skipped, or value can be null or present"
type:
- string
- "null"
requiredButNullableField:
description: "This field must be present, but value can be null"
type:
- string
- "null"
requiredField:
description: "This field must be present, and value cannot be null"
type: string
required:
- enumField
- requiredButNullableField
- requiredField
title: RequiredAndNullablePayloadDto
type: object
io.github.springwolf.examples.kafka.dtos.XmlPayloadDto:
title: XmlPayloadDto
type: string
properties:
someAttribute:
type: string
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
someLong:
type: integer
format: int64
someString:
type: string
examples:
- <io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute="string"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someAttribute: {}
someEnum:
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
format: int64
type: integer
someString:
type: string
title: XmlPayloadDto
type: string
io.github.springwolf.examples.kafka.dtos.YamlPayloadDto:
title: YamlPayloadDto
type: string
properties:
someEnum:
type: string
enum:
- FOO1
- FOO2
- FOO3
someLong:
type: integer
format: int64
someString:
type: string
examples:
- |
someEnum: FOO1
someLong: 0
someString: string
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
someEnum:
enum:
- FOO1
- FOO2
- FOO3
type: string
someLong:
format: int64
type: integer
someString:
type: string
title: YamlPayloadDto
type: string
io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower:
title: EnginePower
type: object
properties:
hp:
type: integer
format: int32
torque:
type: integer
format: int32
examples:
- hp: 0
torque: 0
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
hp:
format: int32
type: integer
torque: {}
title: EnginePower
type: object
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase:
discriminator: vehicleType
title: VehicleBase
type: object
properties:
enginePower:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
powerSource:
type: string
topSpeed:
type: integer
format: int32
vehicleType:
type: string
description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
examples:
- batteryCapacity: 0
chargeTime: 0
enginePower:
hp: 0
torque: 0
powerSource: string
topSpeed: 0
vehicleType: string
oneOf:
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
oneOf:
- allOf:
- {}
- properties:
batteryCapacity: {}
chargeTime:
format: int32
type: integer
type: object
description: Electric vehicle implementation of VehicleBase
type: object
- allOf:
- {}
- properties:
fuelCapacity: {}
type: object
description: Gasoline vehicle implementation of VehicleBase
type: object
properties:
enginePower:
properties:
hp: {}
torque: {}
title: EnginePower
type: object
powerSource:
type: string
topSpeed: {}
vehicleType: {}
title: VehicleBase
type: object
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto:
type: object
description: Electric vehicle implementation of VehicleBase
examples:
- batteryCapacity: 0
chargeTime: 0
enginePower:
hp: 0
torque: 0
powerSource: string
topSpeed: 0
vehicleType: string
allOf:
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
- type: object
properties:
batteryCapacity:
type: integer
format: int32
chargeTime:
type: integer
format: int32
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
allOf:
- description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
oneOf:
- {}
- allOf:
- {}
- properties:
fuelCapacity:
format: int32
type: integer
type: object
description: Gasoline vehicle implementation of VehicleBase
type: object
properties:
enginePower:
properties:
hp: {}
torque: {}
title: EnginePower
type: object
powerSource:
type: string
topSpeed: {}
vehicleType: {}
title: VehicleBase
type: object
- properties:
batteryCapacity: {}
chargeTime: {}
type: object
description: Electric vehicle implementation of VehicleBase
type: object
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto:
type: object
description: Gasoline vehicle implementation of VehicleBase
examples:
- enginePower:
hp: 0
torque: 0
fuelCapacity: 0
powerSource: string
topSpeed: 0
vehicleType: string
allOf:
- $ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
- type: object
properties:
fuelCapacity:
type: integer
format: int32
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
allOf:
- description: Demonstrates the use of discriminator for polymorphic deserialization
(not publishable)
oneOf:
- allOf:
- {}
- properties:
batteryCapacity: {}
chargeTime:
format: int32
type: integer
type: object
description: Electric vehicle implementation of VehicleBase
type: object
- {}
properties:
enginePower:
properties:
hp: {}
torque: {}
title: EnginePower
type: object
powerSource:
type: string
topSpeed: {}
vehicleType: {}
title: VehicleBase
type: object
- properties:
fuelCapacity: {}
type: object
description: Gasoline vehicle implementation of VehicleBase
type: object
java.lang.Integer:
type: integer
format: int32
examples:
- 0
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
format: int32
type: integer
java.lang.String:
type: string
examples:
- '"string"'
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
type: string
javax.money.MonetaryAmount:
type: object
properties:
amount:
type: number
exclusiveMinimum: 0.01
examples:
- 99.99
currency:
type: string
examples:
- USD
examples:
- amount: 99.99
currency: USD
x-json-schema:
$schema: https://json-schema.org/draft-07/schema#
properties:
amount:
exclusiveMinimum: 0.01
type: number
currency:
type: string
type: object
messages:
PayloadNotUsed:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
title: PayloadNotUsed
type: object
properties: {}
description: No payload specified
name: PayloadNotUsed
title: PayloadNotUsed
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
headers:
$ref: "#/components/schemas/HeadersNotUsed"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
name: StringPayload
title: StringEnvelope
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
headers:
$ref: "#/components/schemas/HeadersNotDocumented"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
name: io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
title: AnotherPayloadAvroDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-Message"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
name: io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message
title: Message
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-AnotherTopic"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
name: io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
title: AnotherPayloadDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
name: io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
title: ExamplePayloadDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.NestedPayloadDto:
headers:
$ref: "#/components/schemas/SpringDefaultHeaderAndCloudEvent"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
name: io.github.springwolf.examples.kafka.dtos.NestedPayloadDto
title: NestedPayloadDto
bindings:
kafka:
key:
type: string
description: Kafka Producer Message Key
examples:
- example-key
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
name: io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto
title: RequiredAndNullablePayloadDto
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.XmlPayloadDto:
headers:
$ref: "#/components/schemas/HeadersNotDocumented"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
contentType: text/xml
name: io.github.springwolf.examples.kafka.dtos.XmlPayloadDto
title: XmlPayloadDto
description: Showcases a xml based message
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.YamlPayloadDto:
headers:
$ref: "#/components/schemas/HeadersNotDocumented"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
contentType: application/yaml
name: io.github.springwolf.examples.kafka.dtos.YamlPayloadDto
title: YamlPayloadDto
description: Showcases a yaml based message
bindings:
kafka:
bindingVersion: 0.5.0
io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
name: io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
title: VehicleBase
bindings:
kafka:
bindingVersion: 0.5.0
java.lang.Integer:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-integer"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
type: integer
format: int32
examples:
- 0
name: java.lang.Integer
title: integer
bindings:
kafka:
bindingVersion: 0.5.0
java.lang.String:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-string"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
type: string
examples:
- '"string"'
name: java.lang.String
title: string
bindings:
kafka:
bindingVersion: 0.5.0
javax.money.MonetaryAmount:
headers:
$ref: "#/components/schemas/SpringKafkaDefaultHeaders-MonetaryAmount"
payload:
schemaFormat: application/vnd.aai.asyncapi+json;version=3.0.0
schema:
$ref: "#/components/schemas/javax.money.MonetaryAmount"
name: javax.money.MonetaryAmount
title: MonetaryAmount
bindings:
kafka:
key:
type: string
description: Kafka Consumer Message Key
examples:
- example-key
bindingVersion: 0.5.0
operations:
another-topic_receive_receiveAnotherPayloadBatched:
action: receive
channel:
$ref: "#/channels/another-topic"
bindings:
kafka:
groupId:
type: string
enum:
- example-group-id
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
another-topic_send_sendMessage:
action: send
channel:
$ref: "#/channels/another-topic"
title: another-topic_send
description: Auto-generated description
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
avro-topic_receive_receiveExampleAvroPayload:
action: receive
channel:
$ref: "#/channels/avro-topic"
title: avro-topic_receive
description: Requires a running kafka-schema-registry. See docker-compose.yml
to start it
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/avro-topic/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
example-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/example-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/example-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
integer-topic_receive_receiveIntegerPayload:
action: receive
channel:
$ref: "#/channels/integer-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/integer-topic/messages/java.lang.Integer"
multi-payload-topic_receive_ExampleClassLevelKafkaListener:
action: receive
channel:
$ref: "#/channels/multi-payload-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
- $ref: "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
- $ref: "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
multi-payload-topic_receive_receiveMonetaryAmount:
action: receive
channel:
$ref: "#/channels/multi-payload-topic"
title: multi-payload-topic_receive
description: Override description in the AsyncListener annotation with servers
at kafka:29092
bindings:
kafka:
groupId:
type: string
enum:
- foo-groupId
clientId:
type: string
enum:
- foo-clientId
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
no-payload-used-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/no-payload-used-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/no-payload-used-topic/messages/PayloadNotUsed"
nullable-topic_receive_receiveNullablePayload:
action: receive
channel:
$ref: "#/channels/nullable-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/nullable-topic/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
protobuf-topic_receive_receiveExampleProtobufPayload:
action: receive
channel:
$ref: "#/channels/protobuf-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/protobuf-topic/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
string-topic_receive_receiveStringPayload:
action: receive
channel:
$ref: "#/channels/string-topic"
title: string-topic_receive
description: Final classes (like String) can be documented using an envelope class
and the @AsyncApiPayload annotation.
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/string-topic/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
- $ref: "#/channels/string-topic/messages/java.lang.String"
topic-defined-via-asyncPublisher-annotation_send_sendMessage:
action: send
channel:
$ref: "#/channels/topic-defined-via-asyncPublisher-annotation"
title: topic-defined-via-asyncPublisher-annotation_send
description: "Custom, optional description defined in the AsyncPublisher annotation"
bindings:
kafka:
clientId:
type: string
enum:
- foo-clientId
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/topic-defined-via-asyncPublisher-annotation/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
vehicle-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/vehicle-topic"
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
xml-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/xml-topic"
title: xml-topic_receive
description: Auto-generated description
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/xml-topic/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
yaml-topic_receive_receiveExamplePayload:
action: receive
channel:
$ref: "#/channels/yaml-topic"
title: yaml-topic_receive
description: Auto-generated description
bindings:
kafka:
bindingVersion: 0.5.0
messages:
- $ref: "#/channels/yaml-topic/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto""
but was:
"asyncapi: 3.0.0
info:
title: Springwolf example project - Kafka
version: 1.0.0
description: "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)\
\ to demonstrate springwolfs abilities, including **markdown** support for descriptions."
termsOfService: http://asyncapi.org/terms
contact:
name: springwolf
url: https://github.com/springwolf/springwolf-core
email: [email protected]
license:
name: Apache License 2.0
x-generator: springwolf
defaultContentType: application/json
servers:
kafka-server:
host: kafka:29092
protocol: kafka
channels:
another-topic:
address: another-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
avro-topic:
address: avro-topic
messages:
io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
bindings:
kafka:
bindingVersion: 0.5.0
example-topic:
address: example-topic
messages:
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
integer-topic:
address: integer-topic
messages:
java.lang.Integer:
$ref: "#/components/messages/java.lang.Integer"
bindings:
kafka:
bindingVersion: 0.5.0
multi-payload-topic:
address: multi-payload-topic
messages:
io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
javax.money.MonetaryAmount:
$ref: "#/components/messages/javax.money.MonetaryAmount"
bindings:
kafka:
topic: multi-payload-topic
partitions: 3
replicas: 1
topicConfiguration:
cleanup.policy:
- compact
- delete
retention.ms: 86400000
retention.bytes: -1
delete.retention.ms: 86400000
max.message.bytes: 1048588
bindingVersion: 0.5.0
no-payload-used-topic:
address: no-payload-used-topic
messages:
PayloadNotUsed:
$ref: "#/components/messages/PayloadNotUsed"
bindings:
kafka:
bindingVersion: 0.5.0
nullable-topic:
address: nullable-topic
messages:
io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
bindings:
kafka:
bindingVersion: 0.5.0
protobuf-topic:
address: protobuf-topic
messages:
io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
bindings:
kafka:
bindingVersion: 0.5.0
string-topic:
address: string-topic
messages:
io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope:
$ref: "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
java.lang.String:
$ref: "#/components/messages/java.lang.String"
bindings:
kafka:
bindingVersion: 0.5.0
topic-defined-via-asyncPublisher-annotation:
address: topic-defined-via-asyncPublisher-annotation
messages:
io.github.springwolf.examples.kafka.d
github-actions / test-plugin-kafka-junit
ApiIntegrationWithActuatorIntegrationTest.asyncApiResourceArtifactTest()
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "localhost:9092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/
Raw output
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "localhost:9092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/
github-actions / test-plugin-kafka-junit
ApiSystemTest.asyncapiDocsShouldReturnTheCorrectJsonResponse()
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/com
Raw output
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/com
github-actions / test-plugin-kafka-junit
OpenApiGeneratorSystemTest.asyncApiResourceArtifactTest()
org.opentest4j.AssertionFailedError:
expected: "{"asyncapi":"3.0.0","info":{"title":"Springwolfexampleproject-Kafka","version":"1.0.0","description":"Springwolf[exampleproject](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)todemonstratespringwolfsabilities,including**markdown**supportfordescriptions.","termsOfService":"http://asyncapi.org/terms","contact":{"name":"springwolf","url":"https://github.com/springwolf/springwolf-core","email":"[email protected]"},"license":{"name":"ApacheLicense2.0"},"x-generator":"springwolf"},"defaultContentType":"application/json","servers":{"kafka-server":{"host":"kafka:29092","protocol":"kafka"}},"channels":{"another-topic":{"address":"another-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"avro-topic":{"address":"avro-topic","messages":{"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"example-topic":{"address":"example-topic","messages":{"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"integer-topic":{"address":"integer-topic","messages":{"java.lang.Integer":{"$ref":"#/components/messages/java.lang.Integer"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"multi-payload-topic":{"address":"multi-payload-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},"javax.money.MonetaryAmount":{"$ref":"#/components/messages/javax.money.MonetaryAmount"}},"bindings":{"kafka":{"topic":"multi-payload-topic","partitions":3,"replicas":1,"topicConfiguration":{"cleanup.policy":["compact","delete"],"retention.ms":86400000,"retention.bytes":-1,"delete.retention.ms":86400000,"max.message.bytes":1048588},"bindingVersion":"0.5.0"}}},"no-payload-used-topic":{"address":"no-payload-used-topic","messages":{"PayloadNotUsed":{"$ref":"#/components/messages/PayloadNotUsed"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"nullable-topic":{"address":"nullable-topic","messages":{"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"protobuf-topic":{"address":"protobuf-topic","messages":{"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"string-topic":{"address":"string-topic","messages":{"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"},"java.lang.String":{"$ref":"#/components/messages/java.lang.String"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"topic-defined-via-asyncPublisher-annotation":{"address":"topic-defined-via-asyncPublisher-annotation","messages":{"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}},"servers":[{"$ref":"#/servers/kafka-server"}],"bindings":{}},"vehicle-topic":{"address":"vehicle-topic","messages":{"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"xml-topic":{"address":"xml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"yaml-topic":{"address":"yaml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}}},"components":{"schemas":{"HeadersNotDocumented":{"title":"HeadersNotDocumented","type":"object","properties":{},"description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","title":"HeadersNotDocumented","type":"object"}},"HeadersNotUsed":{"title":"HeadersNotUsed","type":"object","properties":{},"description":"Noheadersarepresent.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Noheadersarepresent.","title":"HeadersNotUsed","type":"object"}},"PayloadNotUsed":{"title":"PayloadNotUsed","type":"object","properties":{},"description":"Nopayloadspecified","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Nopayloadspecified","title":"PayloadNotUsed","type":"object"}},"SpringDefaultHeaderAndCloudEvent":{"title":"SpringDefaultHeaderAndCloudEvent","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"]},"ce_id":{"title":"ce_id","type":"string","description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"examples":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"]},"ce_source":{"title":"ce_source","type":"string","description":"CloudEventSourceHeader","enum":["http://localhost"],"examples":["http://localhost"]},"ce_specversion":{"title":"ce_specversion","type":"string","description":"CloudEventSpecVersionHeader","enum":["1.0"],"examples":["1.0"]},"ce_subject":{"title":"ce_subject","type":"string","description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"examples":["Springwolfexampleproject-Kafka"]},"ce_time":{"title":"ce_time","type":"string","description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"examples":["2023-10-2820:01:23+00:00"]},"ce_type":{"title":"ce_type","type":"string","description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"examples":["NestedPayloadDto.v1"]},"content-type":{"title":"content-type","type":"string","description":"CloudEventContent-TypeHeader","enum":["application/json"],"examples":["application/json"]}},"description":"Spring__TypeId__andCloudEventHeaders","examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto","ce_id":"2c60089e-6f39-459d-8ced-2d6df7e4c03a","ce_source":"http://localhost","ce_specversion":"1.0","ce_subject":"Springwolfexampleproject-Kafka","ce_time":"2023-10-2820:01:23+00:00","ce_type":"NestedPayloadDto.v1","content-type":"application/json"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Spring__TypeId__andCloudEventHeaders","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"title":"__TypeId__","type":"string"},"ce_id":{"description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"title":"ce_id","type":"string"},"ce_source":{"description":"CloudEventSourceHeader","enum":["http://localhost"],"title":"ce_source","type":"string"},"ce_specversion":{"description":"CloudEventSpecVersionHeader","enum":["1.0"],"title":"ce_specversion","type":"string"},"ce_subject":{"description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"title":"ce_subject","type":"string"},"ce_time":{"description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"title":"ce_time","type":"string"},"ce_type":{"description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"title":"ce_type","type":"string"},"content-type":{"description":"CloudEventContent-TypeHeader","enum":["application/json"],"title":"content-type","type":"string"}},"title":"SpringDefaultHeaderAndCloudEvent","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"examples":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherTopic":{"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"TypeID"},"my_uuid_field":{"title":"my_uuid_field","type":"string","description":"Eventidentifier","format":"uuid"}},"examples":[{"__TypeId__":"string","my_uuid_field":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"TypeID","title":"__TypeId__","type":"string"},"my_uuid_field":{"description":"Eventidentifier","format":"uuid","title":"my_uuid_field","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object"}},"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105":{"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"]},"kafka_offset":{"type":"integer","format":"int32","examples":[0]},"kafka_receivedMessageKey":{"type":"string","examples":["\"string\""]},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object","examples":[{}]}},"examples":[{"ConsumerRecordMetadata":{},"__TypeId__":"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto","kafka_offset":0,"kafka_receivedMessageKey":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"title":"__TypeId__","type":"string"},"kafka_offset":{"format":"int32","type":"integer"},"kafka_receivedMessageKey":{"type":"string"},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object"}},"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object"}},"SpringKafkaDefaultHeaders-Message":{"title":"SpringKafkaDefaultHeaders-Message","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"examples":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-Message","type":"object"}},"SpringKafkaDefaultHeaders-MonetaryAmount":{"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"examples":["javax.money.MonetaryAmount"]}},"examples":[{"__TypeId__":"javax.money.MonetaryAmount"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object"}},"SpringKafkaDefaultHeaders-PayloadNotUsed":{"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"examples":["PayloadNotUsed"]}},"examples":[{"__TypeId__":"PayloadNotUsed"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object"}},"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto":{"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-VehicleBase":{"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"examples":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object"}},"SpringKafkaDefaultHeaders-XmlPayloadDto":{"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-YamlPayloadDto":{"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-integer":{"title":"SpringKafkaDefaultHeaders-integer","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"examples":["java.lang.Integer"]}},"examples":[{"__TypeId__":"java.lang.Integer"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-integer","type":"object"}},"SpringKafkaDefaultHeaders-string":{"title":"SpringKafkaDefaultHeaders-string","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.String"],"examples":["java.lang.String"]}},"examples":[{"__TypeId__":"java.lang.String"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.String"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-string","type":"object"}},"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"type":"string","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"examples":["\"string\""],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"type":"string"}},"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"title":"AnotherPayloadAvroDto","type":"object","properties":{"examplePayloadAvroDto":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"},"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]}},"examples":[{"examplePayloadAvroDto":{"someLong":0,"someString":"string"},"someEnum":"FOO1"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"examplePayloadAvroDto":{"properties":{"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"ExamplePayloadAvroDto","type":"object"},"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"}},"title":"AnotherPayloadAvroDto","type":"object"}},"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto":{"title":"ExamplePayloadAvroDto","type":"object","properties":{"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":[{"someLong":0,"someString":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"ExamplePayloadAvroDto","type":"object"}},"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"title":"Message","type":"object","properties":{"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3","UNRECOGNIZED"]},"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":[{"someEnum":"FOO1","someLong":0,"someString":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someEnum":{"enum":["FOO1","FOO2","FOO3","UNRECOGNIZED"],"type":"string"},"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"Message","type":"object"}},"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"title":"AnotherPayloadDto","type":"object","properties":{"example":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},"foo":{"type":"string","description":"Foofield","maxLength":100,"examples":["bar"]}},"description":"Anotherpayloadmodel","examples":[{"example":{"someEnum":"FOO2","someLong":5,"someString":"somestringvalue"},"foo":"bar"}],"required":["example"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Anotherpayloadmodel","properties":{"example":{"description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","properties":{"someEnum":{"description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"description":"Somelongfield","format":"int64","minimum":0,"type":"integer"},"someString":{"description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","type":"string"}},"required":["someEnum","someString"],"title":"ExamplePayloadDto","type":"object"},"foo":{"description":"Foofield","maxLength":100,"type":"string"}},"required":["example"],"title":"AnotherPayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"title":"ExamplePayloadDto","type":"object","properties":{"someEnum":{"type":"string","description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"examples":["FOO2"]},"someLong":{"type":"integer","description":"Somelongfield","format":"int64","minimum":0,"examples":[5]},"someString":{"type":"string","description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","examples":["somestringvalue"]}},"description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","examples":[{"someEnum":"FOO2","someLong":5,"someString":"somestringvalue"}],"required":["someEnum","someString"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","properties":{"someEnum":{"description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"description":"Somelongfield","format":"int64","minimum":0,"type":"integer"},"someString":{"description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","type":"string"}},"required":["someEnum","someString"],"title":"ExamplePayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"title":"NestedPayloadDto","type":"object","properties":{"examplePayloads":{"type":"array","items":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"someStrings":{"type":"array","items":{"type":"string","description":"Somestringfield","examples":["somestringvalue"]},"uniqueItems":true}},"description":"Payloadmodelwithnestedcomplextypes","examples":[{"examplePayloads":[{"someEnum":"FOO2","someLong":5,"someString":"somestringvalue"}],"someStrings":["somestringvalue"]}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Payloadmodelwithnestedcomplextypes","properties":{"examplePayloads":{"items":{"description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","properties":{"someEnum":{"description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"description":"Somelongfield","format":"int64","minimum":0,"type":"integer"},"someString":{"description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","type":"string"}},"required":["someEnum","someString"],"title":"ExamplePayloadDto","type":"object"},"type":"array"},"someStrings":{"items":{"description":"Somestringfield","type":"string"},"type":"array","uniqueItems":true}},"title":"NestedPayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"title":"RequiredAndNullablePayloadDto","type":"object","properties":{"enumField":{"type":["string","null"],"description":"FollowsOpenAPI3.1spec","enum":["COMPLEX1","COMPLEX2",null]},"notRequiredField":{"type":"string","description":"Thisfieldcanbeskipped,butvaluecannotbenull"},"requiredAndNullableField":{"type":["string","null"],"description":"Thisfieldcanbeskipped,orvaluecanbenullorpresent"},"requiredButNullableField":{"type":["string","null"],"description":"Thisfieldmustbepresent,butvaluecanbenull"},"requiredField":{"type":"string","description":"Thisfieldmustbepresent,andvaluecannotbenull"}},"description":"Demonstraterequiredandnullable.Note,@Schemaisonlydescriptivewithoutnullabilitycheck","examples":[{"enumField":"COMPLEX1","notRequiredField":"string","requiredAndNullableField":"string","requiredButNullableField":"string","requiredField":"string"}],"required":["enumField","requiredButNullableField","requiredField"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Demonstraterequiredandnullable.Note,@Schemaisonlydescriptivewithoutnullabilitycheck","properties":{"enumField":{"description":"FollowsOpenAPI3.1spec","enum":["COMPLEX1","COMPLEX2",null],"type":["string","null"]},"notRequiredField":{"description":"Thisfieldcanbeskipped,butvaluecannotbenull","type":"string"},"requiredAndNullableField":{"description":"Thisfieldcanbeskipped,orvaluecanbenullorpresent","type":["string","null"]},"requiredButNullableField":{"description":"Thisfieldmustbepresent,butvaluecanbenull","type":["string","null"]},"requiredField":{"description":"Thisfieldmustbepresent,andvaluecannotbenull","type":"string"}},"required":["enumField","requiredButNullableField","requiredField"],"title":"RequiredAndNullablePayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"title":"XmlPayloadDto","type":"string","properties":{"someAttribute":{"type":"string"},"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]},"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":["<io.github.springwolf.examples.kafka.dtos.XmlPayloadDtosomeAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someAttribute":{},"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"XmlPayloadDto","type":"string"}},"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"title":"YamlPayloadDto","type":"string","properties":{"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]},"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":["someEnum:FOO1\nsomeLong:0\nsomeString:string\n"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"YamlPayloadDto","type":"string"}},"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower":{"title":"EnginePower","type":"object","properties":{"hp":{"type":"integer","format":"int32"},"torque":{"type":"integer","format":"int32"}},"examples":[{"hp":0,"torque":0}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"hp":{"format":"int32","type":"integer"},"torque":{}},"title":"EnginePower","type":"object"}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"discriminator":"vehicleType","title":"VehicleBase","type":"object","properties":{"enginePower":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"},"powerSource":{"type":"string"},"topSpeed":{"type":"integer","format":"int32"},"vehicleType":{"type":"string"}},"description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","examples":[{"batteryCapacity":0,"chargeTime":0,"enginePower":{"hp":0,"torque":0},"powerSource":"string","topSpeed":0,"vehicleType":"string"}],"oneOf":[{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"},{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","oneOf":[{"allOf":[{},{"properties":{"batteryCapacity":{},"chargeTime":{"format":"int32","type":"integer"}},"type":"object"}],"description":"ElectricvehicleimplementationofVehicleBase","type":"object"},{"allOf":[{},{"properties":{"fuelCapacity":{}},"type":"object"}],"description":"GasolinevehicleimplementationofVehicleBase","type":"object"}],"properties":{"enginePower":{"properties":{"hp":{},"torque":{}},"title":"EnginePower","type":"object"},"powerSource":{"type":"string"},"topSpeed":{},"vehicleType":{}},"title":"VehicleBase","type":"object"}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto":{"type":"object","description":"ElectricvehicleimplementationofVehicleBase","examples":[{"batteryCapacity":0,"chargeTime":0,"enginePower":{"hp":0,"torque":0},"powerSource":"string","topSpeed":0,"vehicleType":"string"}],"allOf":[{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"},{"type":"object","properties":{"batteryCapacity":{"type":"integer","format":"int32"},"chargeTime":{"type":"integer","format":"int32"}}}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","allOf":[{"description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","oneOf":[{},{"allOf":[{},{"properties":{"fuelCapacity":{"format":"int32","type":"integer"}},"type":"object"}],"description":"GasolinevehicleimplementationofVehicleBase","type":"object"}],"properties":{"enginePower":{"properties":{"hp":{},"torque":{}},"title":"EnginePower","type":"object"},"powerSource":{"type":"string"},"topSpeed":{},"vehicleType":{}},"title":"VehicleBase","type":"object"},{"properties":{"batteryCapacity":{},"chargeTime":{}},"type":"object"}],"description":"ElectricvehicleimplementationofVehicleBase","type":"object"}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto":{"type":"object","description":"GasolinevehicleimplementationofVehicleBase","examples":[{"enginePower":{"hp":0,"torque":0},"fuelCapacity":0,"powerSource":"string","topSpeed":0,"vehicleType":"string"}],"allOf":[{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"},{"type":"object","properties":{"fuelCapacity":{"type":"integer","format":"int32"}}}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","allOf":[{"description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","oneOf":[{"allOf":[{},{"properties":{"batteryCapacity":{},"chargeTime":{"format":"int32","type":"integer"}},"type":"object"}],"description":"ElectricvehicleimplementationofVehicleBase","type":"object"},{}],"properties":{"enginePower":{"properties":{"hp":{},"torque":{}},"title":"EnginePower","type":"object"},"powerSource":{"type":"string"},"topSpeed":{},"vehicleType":{}},"title":"VehicleBase","type":"object"},{"properties":{"fuelCapacity":{}},"type":"object"}],"description":"GasolinevehicleimplementationofVehicleBase","type":"object"}},"java.lang.Integer":{"type":"integer","format":"int32","examples":[0],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","format":"int32","type":"integer"}},"java.lang.String":{"type":"string","examples":["\"string\""],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","type":"string"}},"javax.money.MonetaryAmount":{"type":"object","properties":{"amount":{"type":"number","exclusiveMinimum":0.01,"examples":[99.99]},"currency":{"type":"string","examples":["USD"]}},"examples":[{"amount":99.99,"currency":"USD"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"amount":{"exclusiveMinimum":0.01,"type":"number"},"currency":{"type":"string"}},"type":"object"}}},"messages":{"PayloadNotUsed":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"title":"PayloadNotUsed","type":"object","properties":{},"description":"Nopayloadspecified"}},"name":"PayloadNotUsed","title":"PayloadNotUsed","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"headers":{"$ref":"#/components/schemas/HeadersNotUsed"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"}},"name":"StringPayload","title":"StringEnvelope","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"headers":{"$ref":"#/components/schemas/HeadersNotDocumented"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}},"name":"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto","title":"AnotherPayloadAvroDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-Message"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}},"name":"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message","title":"Message","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-AnotherTopic"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto","title":"AnotherPayloadDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto","title":"ExamplePayloadDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"headers":{"$ref":"#/components/schemas/SpringDefaultHeaderAndCloudEvent"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto","title":"NestedPayloadDto","bindings":{"kafka":{"key":{"type":"string","description":"KafkaProducerMessageKey","examples":["example-key"]},"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto","title":"RequiredAndNullablePayloadDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"headers":{"$ref":"#/components/schemas/HeadersNotDocumented"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}},"contentType":"text/xml","name":"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto","title":"XmlPayloadDto","description":"Showcasesaxmlbasedmessage","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"headers":{"$ref":"#/components/schemas/HeadersNotDocumented"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}},"contentType":"application/yaml","name":"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto","title":"YamlPayloadDto","description":"Showcasesayamlbasedmessage","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}},"name":"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase","title":"VehicleBase","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"java.lang.Integer":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-integer"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"type":"integer","format":"int32","examples":[0]}},"name":"java.lang.Integer","title":"integer","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"java.lang.String":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-string"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"type":"string","examples":["\"string\""]}},"name":"java.lang.String","title":"string","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"javax.money.MonetaryAmount":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-MonetaryAmount"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/javax.money.MonetaryAmount"}},"name":"javax.money.MonetaryAmount","title":"MonetaryAmount","bindings":{"kafka":{"key":{"type":"string","description":"KafkaConsumerMessageKey","examples":["example-key"]},"bindingVersion":"0.5.0"}}}}},"operations":{"another-topic_receive_receiveAnotherPayloadBatched":{"action":"receive","channel":{"$ref":"#/channels/another-topic"},"bindings":{"kafka":{"groupId":{"type":"string","enum":["example-group-id"]},"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}]},"another-topic_send_sendMessage":{"action":"send","channel":{"$ref":"#/channels/another-topic"},"title":"another-topic_send","description":"Auto-generateddescription","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}]},"avro-topic_receive_receiveExampleAvroPayload":{"action":"receive","channel":{"$ref":"#/channels/avro-topic"},"title":"avro-topic_receive","description":"Requiresarunningkafka-schema-registry.Seedocker-compose.ymltostartit","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/avro-topic/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}]},"example-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/example-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/example-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}]},"integer-topic_receive_receiveIntegerPayload":{"action":"receive","channel":{"$ref":"#/channels/integer-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/integer-topic/messages/java.lang.Integer"}]},"multi-payload-topic_receive_ExampleClassLevelKafkaListener":{"action":"receive","channel":{"$ref":"#/channels/multi-payload-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},{"$ref":"#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"},{"$ref":"#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"}]},"multi-payload-topic_receive_receiveMonetaryAmount":{"action":"receive","channel":{"$ref":"#/channels/multi-payload-topic"},"title":"multi-payload-topic_receive","description":"OverridedescriptionintheAsyncListenerannotationwithserversatkafka:29092","bindings":{"kafka":{"groupId":{"type":"string","enum":["foo-groupId"]},"clientId":{"type":"string","enum":["foo-clientId"]},"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"}]},"no-payload-used-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/no-payload-used-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/no-payload-used-topic/messages/PayloadNotUsed"}]},"nullable-topic_receive_receiveNullablePayload":{"action":"receive","channel":{"$ref":"#/channels/nullable-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/nullable-topic/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}]},"protobuf-topic_receive_receiveExampleProtobufPayload":{"action":"receive","channel":{"$ref":"#/channels/protobuf-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/protobuf-topic/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}]},"string-topic_receive_receiveStringPayload":{"action":"receive","channel":{"$ref":"#/channels/string-topic"},"title":"string-topic_receive","description":"Finalclasses(likeString)canbedocumentedusinganenvelopeclassandthe@AsyncApiPayloadannotation.","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/string-topic/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"},{"$ref":"#/channels/string-topic/messages/java.lang.String"}]},"topic-defined-via-asyncPublisher-annotation_send_sendMessage":{"action":"send","channel":{"$ref":"#/channels/topic-defined-via-asyncPublisher-annotation"},"title":"topic-defined-via-asyncPublisher-annotation_send","description":"Custom,optionaldescriptiondefinedintheAsyncPublisherannotation","bindings":{"kafka":{"clientId":{"type":"string","enum":["foo-clientId"]},"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/topic-defined-via-asyncPublisher-annotation/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}]},"vehicle-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/vehicle-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}]},"xml-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/xml-topic"},"title":"xml-topic_receive","description":"Auto-generateddescription","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/xml-topic/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}]},"yaml-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/yaml-topic"},"title":"yaml-topic_receive","description":"Auto-generateddescription","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/yaml-topic/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}]}}}"
but was: "{"asyncapi":"3.0.0","info":{"title":"Springwolfexampleproject-Kafka","version":"1.0.0","description":"Springwolf[exampleproject](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)todemonstratespringwolfsabilities,including**markdown**supportfordescriptions.","termsOfService":"http://asyncapi.org/terms","contact":{"name":"springwolf","url":"https://github.com/springwolf/springwolf-core","email":"[email protected]"},"license":{"name":"ApacheLicense2.0"},"x-generator":"springwolf"},"defaultContentType":"application/json","servers":{"kafka-server":{"host":"kafka:29092","protocol":"kafka"}},"channels":{"another-topic":{"address":"another-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"avro-topic":{"address":"avro-topic","messages":{"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"example-topic":{"address":"example-topic","messages":{"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"integer-topic":{"address":"integer-topic","messages":{"java.lang.Integer":{"$ref":"#/components/messages/java.lang.Integer"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"multi-payload-topic":{"address":"multi-payload-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},"javax.money.MonetaryAmount":{"$ref":"#/components/messages/javax.money.MonetaryAmount"}},"bindings":{"kafka":{"topic":"multi-payload-topic","partitions":3,"replicas":1,"topicConfiguration":{"cleanup.policy":["compact","delete"],"retention.ms":86400000,"retention.bytes":-1,"delete.retention.ms":86400000,"max.message.bytes":1048588},"bindingVersion":"0.5.0"}}},"no-payload-used-topic":{"address":"no-payload-used-topic","messages":{"PayloadNotUsed":{"$ref":"#/components/messages/PayloadNotUsed"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"nullable-topic":{"address":"nullable-topic","messages":{"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"protobuf-topic":{"address":"protobuf-topic","messages":{"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"string-topic":{"address":"string-topic","messages":{"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"},"java.lang.String":{"$ref":"#/components/messages/java.lang.String"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"topic-defined-via-asyncPublisher-annotation":{"address":"topic-defined-via-asyncPublisher-annotation","messages":{"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}},"servers":[{"$ref":"#/servers/kafka-server"}],"bindings":{}},"vehicle-topic":{"address":"vehicle-topic","messages":{"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"xml-topic":{"address":"xml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"yaml-topic":{"address":"yaml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}}},"components":{"schemas":{"HeadersNotDocumented":{"title":"HeadersNotDocumented","type":"object","properties":{},"description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","title":"HeadersNotDocumented","type":"object"}},"HeadersNotUsed":{"title":"HeadersNotUsed","type":"object","properties":{},"description":"Noheadersarepresent.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Noheadersarepresent.","title":"HeadersNotUsed","type":"object"}},"PayloadNotUsed":{"title":"PayloadNotUsed","type":"object","properties":{},"description":"Nopayloadspecified","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Nopayloadspecified","title":"PayloadNotUsed","type":"object"}},"SpringDefaultHeaderAndCloudEvent":{"title":"SpringDefaultHeaderAndCloudEvent","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"]},"ce_id":{"title":"ce_id","type":"string","description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"examples":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"]},"ce_source":{"title":"ce_source","type":"string","description":"CloudEventSourceHeader","enum":["http://localhost"],"examples":["http://localhost"]},"ce_specversion":{"title":"ce_specversion","type":"string","description":"CloudEventSpecVersionHeader","enum":["1.0"],"examples":["1.0"]},"ce_subject":{"title":"ce_subject","type":"string","description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"examples":["Springwolfexampleproject-Kafka"]},"ce_time":{"title":"ce_time","type":"string","description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"examples":["2023-10-2820:01:23+00:00"]},"ce_type":{"title":"ce_type","type":"string","description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"examples":["NestedPayloadDto.v1"]},"content-type":{"title":"content-type","type":"string","description":"CloudEventContent-TypeHeader","enum":["application/json"],"examples":["application/json"]}},"description":"Spring__TypeId__andCloudEventHeaders","examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto","ce_id":"2c60089e-6f39-459d-8ced-2d6df7e4c03a","ce_source":"http://localhost","ce_specversion":"1.0","ce_subject":"Springwolfexampleproject-Kafka","ce_time":"2023-10-2820:01:23+00:00","ce_type":"NestedPayloadDto.v1","content-type":"application/json"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Spring__TypeId__andCloudEventHeaders","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"title":"__TypeId__","type":"string"},"ce_id":{"description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"title":"ce_id","type":"string"},"ce_source":{"description":"CloudEventSourceHeader","enum":["http://localhost"],"title":"ce_source","type":"string"},"ce_specversion":{"description":"CloudEventSpecVersionHeader","enum":["1.0"],"title":"ce_specversion","type":"string"},"ce_subject":{"description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"title":"ce_subject","type":"string"},"ce_time":{"description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"title":"ce_time","type":"string"},"ce_type":{"description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"title":"ce_type","type":"string"},"content-type":{"description":"CloudEventContent-TypeHeader","enum":["application/json"],"title":"content-type","type":"string"}},"title":"SpringDefaultHeaderAndCloudEvent","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"examples":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherTopic":{"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"TypeID"},"my_uuid_field":{"title":"my_uuid_field","type":"string","description":"Eventidentifier","format":"uuid"}},"examples":[{"__TypeId__":"string","my_uuid_field":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"TypeID","title":"__TypeId__","type":"string"},"my_uuid_field":{"description":"Eventidentifier","format":"uuid","title":"my_uuid_field","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object"}},"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105":{"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"]},"kafka_offset":{"type":"integer","format":"int32","examples":[0]},"kafka_receivedMessageKey":{"type":"string","examples":["\"string\""]},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object","examples":[{}]}},"examples":[{"ConsumerRecordMetadata":{},"__TypeId__":"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto","kafka_offset":0,"kafka_receivedMessageKey":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"title":"__TypeId__","type":"string"},"kafka_offset":{"format":"int32","type":"integer"},"kafka_receivedMessageKey":{"type":"string"},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object"}},"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object"}},"SpringKafkaDefaultHeaders-Message":{"title":"SpringKafkaDefaultHeaders-Message","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"examples":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-Message","type":"object"}},"SpringKafkaDefaultHeaders-MonetaryAmount":{"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"examples":["javax.money.MonetaryAmount"]}},"examples":[{"__TypeId__":"javax.money.MonetaryAmount"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object"}},"SpringKafkaDefaultHeaders-PayloadNotUsed":{"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"examples":["PayloadNotUsed"]}},"examples":[{"__TypeId__":"PayloadNotUsed"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object"}},"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto":{"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-VehicleBase":{"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"examples":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object"}},"SpringKafkaDefaultHeaders-XmlPayloadDto":{"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-YamlPayloadDto":{"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-integer":{"title":"SpringKafkaDefaultHeaders-integer","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"examples":["java.lang.Integer"]}},"examples":[{"__TypeId__":"java.lang.Integer"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-integer","type":"object"}},"SpringKafkaDefaultHeaders-string":{"title":"SpringKafkaDefaultHeaders-string","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.String"],"examples":["java.lang.String"]}},"examples":[{"__TypeId__":"java.lang.String"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.String"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-string","type":"object"}},"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"type":"string","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"examples":["\"string\""],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"type":"string"}},"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"title":"AnotherPayloadAvroDto","type":"object","properties":{"examplePayloadAvroDto":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"},"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]}},"examples":[{"examplePayloadAvroDto":{"someLong":0,"someString":"string"},"someEnum":"FOO1"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"examplePayloadAvroDto":{"properties":{"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"ExamplePayloadAvroDto","type":"object"},"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"}},"title":"AnotherPayloadAvroDto","type":"object"}},"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto":{"title":"ExamplePayloadAvroDto","type":"object","properties":{"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":[{"someLong"
Raw output
org.opentest4j.AssertionFailedError:
expected: "{"asyncapi":"3.0.0","info":{"title":"Springwolfexampleproject-Kafka","version":"1.0.0","description":"Springwolf[exampleproject](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)todemonstratespringwolfsabilities,including**markdown**supportfordescriptions.","termsOfService":"http://asyncapi.org/terms","contact":{"name":"springwolf","url":"https://github.com/springwolf/springwolf-core","email":"[email protected]"},"license":{"name":"ApacheLicense2.0"},"x-generator":"springwolf"},"defaultContentType":"application/json","servers":{"kafka-server":{"host":"kafka:29092","protocol":"kafka"}},"channels":{"another-topic":{"address":"another-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"avro-topic":{"address":"avro-topic","messages":{"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"example-topic":{"address":"example-topic","messages":{"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"integer-topic":{"address":"integer-topic","messages":{"java.lang.Integer":{"$ref":"#/components/messages/java.lang.Integer"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"multi-payload-topic":{"address":"multi-payload-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},"javax.money.MonetaryAmount":{"$ref":"#/components/messages/javax.money.MonetaryAmount"}},"bindings":{"kafka":{"topic":"multi-payload-topic","partitions":3,"replicas":1,"topicConfiguration":{"cleanup.policy":["compact","delete"],"retention.ms":86400000,"retention.bytes":-1,"delete.retention.ms":86400000,"max.message.bytes":1048588},"bindingVersion":"0.5.0"}}},"no-payload-used-topic":{"address":"no-payload-used-topic","messages":{"PayloadNotUsed":{"$ref":"#/components/messages/PayloadNotUsed"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"nullable-topic":{"address":"nullable-topic","messages":{"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"protobuf-topic":{"address":"protobuf-topic","messages":{"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"string-topic":{"address":"string-topic","messages":{"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"},"java.lang.String":{"$ref":"#/components/messages/java.lang.String"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"topic-defined-via-asyncPublisher-annotation":{"address":"topic-defined-via-asyncPublisher-annotation","messages":{"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}},"servers":[{"$ref":"#/servers/kafka-server"}],"bindings":{}},"vehicle-topic":{"address":"vehicle-topic","messages":{"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"xml-topic":{"address":"xml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"yaml-topic":{"address":"yaml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}}},"components":{"schemas":{"HeadersNotDocumented":{"title":"HeadersNotDocumented","type":"object","properties":{},"description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","title":"HeadersNotDocumented","type":"object"}},"HeadersNotUsed":{"title":"HeadersNotUsed","type":"object","properties":{},"description":"Noheadersarepresent.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Noheadersarepresent.","title":"HeadersNotUsed","type":"object"}},"PayloadNotUsed":{"title":"PayloadNotUsed","type":"object","properties":{},"description":"Nopayloadspecified","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Nopayloadspecified","title":"PayloadNotUsed","type":"object"}},"SpringDefaultHeaderAndCloudEvent":{"title":"SpringDefaultHeaderAndCloudEvent","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"]},"ce_id":{"title":"ce_id","type":"string","description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"examples":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"]},"ce_source":{"title":"ce_source","type":"string","description":"CloudEventSourceHeader","enum":["http://localhost"],"examples":["http://localhost"]},"ce_specversion":{"title":"ce_specversion","type":"string","description":"CloudEventSpecVersionHeader","enum":["1.0"],"examples":["1.0"]},"ce_subject":{"title":"ce_subject","type":"string","description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"examples":["Springwolfexampleproject-Kafka"]},"ce_time":{"title":"ce_time","type":"string","description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"examples":["2023-10-2820:01:23+00:00"]},"ce_type":{"title":"ce_type","type":"string","description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"examples":["NestedPayloadDto.v1"]},"content-type":{"title":"content-type","type":"string","description":"CloudEventContent-TypeHeader","enum":["application/json"],"examples":["application/json"]}},"description":"Spring__TypeId__andCloudEventHeaders","examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto","ce_id":"2c60089e-6f39-459d-8ced-2d6df7e4c03a","ce_source":"http://localhost","ce_specversion":"1.0","ce_subject":"Springwolfexampleproject-Kafka","ce_time":"2023-10-2820:01:23+00:00","ce_type":"NestedPayloadDto.v1","content-type":"application/json"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Spring__TypeId__andCloudEventHeaders","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"title":"__TypeId__","type":"string"},"ce_id":{"description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"title":"ce_id","type":"string"},"ce_source":{"description":"CloudEventSourceHeader","enum":["http://localhost"],"title":"ce_source","type":"string"},"ce_specversion":{"description":"CloudEventSpecVersionHeader","enum":["1.0"],"title":"ce_specversion","type":"string"},"ce_subject":{"description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"title":"ce_subject","type":"string"},"ce_time":{"description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"title":"ce_time","type":"string"},"ce_type":{"description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"title":"ce_type","type":"string"},"content-type":{"description":"CloudEventContent-TypeHeader","enum":["application/json"],"title":"content-type","type":"string"}},"title":"SpringDefaultHeaderAndCloudEvent","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"examples":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherTopic":{"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"TypeID"},"my_uuid_field":{"title":"my_uuid_field","type":"string","description":"Eventidentifier","format":"uuid"}},"examples":[{"__TypeId__":"string","my_uuid_field":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"TypeID","title":"__TypeId__","type":"string"},"my_uuid_field":{"description":"Eventidentifier","format":"uuid","title":"my_uuid_field","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object"}},"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105":{"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"]},"kafka_offset":{"type":"integer","format":"int32","examples":[0]},"kafka_receivedMessageKey":{"type":"string","examples":["\"string\""]},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object","examples":[{}]}},"examples":[{"ConsumerRecordMetadata":{},"__TypeId__":"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto","kafka_offset":0,"kafka_receivedMessageKey":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"title":"__TypeId__","type":"string"},"kafka_offset":{"format":"int32","type":"integer"},"kafka_receivedMessageKey":{"type":"string"},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object"}},"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object"}},"SpringKafkaDefaultHeaders-Message":{"title":"SpringKafkaDefaultHeaders-Message","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"examples":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-Message","type":"object"}},"SpringKafkaDefaultHeaders-MonetaryAmount":{"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"examples":["javax.money.MonetaryAmount"]}},"examples":[{"__TypeId__":"javax.money.MonetaryAmount"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object"}},"SpringKafkaDefaultHeaders-PayloadNotUsed":{"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"examples":["PayloadNotUsed"]}},"examples":[{"__TypeId__":"PayloadNotUsed"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object"}},"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto":{"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-VehicleBase":{"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"examples":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object"}},"SpringKafkaDefaultHeaders-XmlPayloadDto":{"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-YamlPayloadDto":{"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-integer":{"title":"SpringKafkaDefaultHeaders-integer","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"examples":["java.lang.Integer"]}},"examples":[{"__TypeId__":"java.lang.Integer"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-integer","type":"object"}},"SpringKafkaDefaultHeaders-string":{"title":"SpringKafkaDefaultHeaders-string","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.String"],"examples":["java.lang.String"]}},"examples":[{"__TypeId__":"java.lang.String"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.String"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-string","type":"object"}},"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"type":"string","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"examples":["\"string\""],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"type":"string"}},"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"title":"AnotherPayloadAvroDto","type":"object","properties":{"examplePayloadAvroDto":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"},"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]}},"examples":[{"examplePayloadAvroDto":{"someLong":0,"someString":"string"},"someEnum":"FOO1"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"examplePayloadAvroDto":{"properties":{"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"ExamplePayloadAvroDto","type":"object"},"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"}},"title":"AnotherPayloadAvroDto","type":"object"}},"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto":{"title":"ExamplePayloadAvroDto","type":"object","properties":{"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":[{"someLong":0,"someString":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"ExamplePayloadAvroDto","type":"object"}},"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"title":"Message","type":"object","properties":{"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3","UNRECOGNIZED"]},"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":[{"someEnum":"FOO1","someLong":0,"someString":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someEnum":{"enum":["FOO1","FOO2","FOO3","UNRECOGNIZED"],"type":"string"},"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"Message","type":"object"}},"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"title":"AnotherPayloadDto","type":"object","properties":{"example":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},"foo":{"type":"string","description":"Foofield","maxLength":100,"examples":["bar"]}},"description":"Anotherpayloadmodel","examples":[{"example":{"someEnum":"FOO2","someLong":5,"someString":"somestringvalue"},"foo":"bar"}],"required":["example"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Anotherpayloadmodel","properties":{"example":{"description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","properties":{"someEnum":{"description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"description":"Somelongfield","format":"int64","minimum":0,"type":"integer"},"someString":{"description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","type":"string"}},"required":["someEnum","someString"],"title":"ExamplePayloadDto","type":"object"},"foo":{"description":"Foofield","maxLength":100,"type":"string"}},"required":["example"],"title":"AnotherPayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"title":"ExamplePayloadDto","type":"object","properties":{"someEnum":{"type":"string","description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"examples":["FOO2"]},"someLong":{"type":"integer","description":"Somelongfield","format":"int64","minimum":0,"examples":[5]},"someString":{"type":"string","description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","examples":["somestringvalue"]}},"description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","examples":[{"someEnum":"FOO2","someLong":5,"someString":"somestringvalue"}],"required":["someEnum","someString"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","properties":{"someEnum":{"description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"description":"Somelongfield","format":"int64","minimum":0,"type":"integer"},"someString":{"description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","type":"string"}},"required":["someEnum","someString"],"title":"ExamplePayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"title":"NestedPayloadDto","type":"object","properties":{"examplePayloads":{"type":"array","items":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"someStrings":{"type":"array","items":{"type":"string","description":"Somestringfield","examples":["somestringvalue"]},"uniqueItems":true}},"description":"Payloadmodelwithnestedcomplextypes","examples":[{"examplePayloads":[{"someEnum":"FOO2","someLong":5,"someString":"somestringvalue"}],"someStrings":["somestringvalue"]}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Payloadmodelwithnestedcomplextypes","properties":{"examplePayloads":{"items":{"description":"Examplepayloadmodeldemonstratingmarkdowntextstyling:\n**bold**,*cursive*and<u>underlined</u>\n","properties":{"someEnum":{"description":"Someenumfield","enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"description":"Somelongfield","format":"int64","minimum":0,"type":"integer"},"someString":{"description":"###SomestringfieldwithMarkdown\n\n-**bold**\n-*cursive*\n-images:<imgsrc=\"./assets/springwolf-logo.png\"alt=\"Springwolf\"height=\"50\"/>\n-andcodeblocks(json,http,java)\n```json\n{\n\"key1\":\"value1\",\n\"key2\":\"value2\"\n}\n```\n","type":"string"}},"required":["someEnum","someString"],"title":"ExamplePayloadDto","type":"object"},"type":"array"},"someStrings":{"items":{"description":"Somestringfield","type":"string"},"type":"array","uniqueItems":true}},"title":"NestedPayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"title":"RequiredAndNullablePayloadDto","type":"object","properties":{"enumField":{"type":["string","null"],"description":"FollowsOpenAPI3.1spec","enum":["COMPLEX1","COMPLEX2",null]},"notRequiredField":{"type":"string","description":"Thisfieldcanbeskipped,butvaluecannotbenull"},"requiredAndNullableField":{"type":["string","null"],"description":"Thisfieldcanbeskipped,orvaluecanbenullorpresent"},"requiredButNullableField":{"type":["string","null"],"description":"Thisfieldmustbepresent,butvaluecanbenull"},"requiredField":{"type":"string","description":"Thisfieldmustbepresent,andvaluecannotbenull"}},"description":"Demonstraterequiredandnullable.Note,@Schemaisonlydescriptivewithoutnullabilitycheck","examples":[{"enumField":"COMPLEX1","notRequiredField":"string","requiredAndNullableField":"string","requiredButNullableField":"string","requiredField":"string"}],"required":["enumField","requiredButNullableField","requiredField"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Demonstraterequiredandnullable.Note,@Schemaisonlydescriptivewithoutnullabilitycheck","properties":{"enumField":{"description":"FollowsOpenAPI3.1spec","enum":["COMPLEX1","COMPLEX2",null],"type":["string","null"]},"notRequiredField":{"description":"Thisfieldcanbeskipped,butvaluecannotbenull","type":"string"},"requiredAndNullableField":{"description":"Thisfieldcanbeskipped,orvaluecanbenullorpresent","type":["string","null"]},"requiredButNullableField":{"description":"Thisfieldmustbepresent,butvaluecanbenull","type":["string","null"]},"requiredField":{"description":"Thisfieldmustbepresent,andvaluecannotbenull","type":"string"}},"required":["enumField","requiredButNullableField","requiredField"],"title":"RequiredAndNullablePayloadDto","type":"object"}},"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"title":"XmlPayloadDto","type":"string","properties":{"someAttribute":{"type":"string"},"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]},"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":["<io.github.springwolf.examples.kafka.dtos.XmlPayloadDtosomeAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someAttribute":{},"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"XmlPayloadDto","type":"string"}},"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"title":"YamlPayloadDto","type":"string","properties":{"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]},"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":["someEnum:FOO1\nsomeLong:0\nsomeString:string\n"],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"},"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"YamlPayloadDto","type":"string"}},"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower":{"title":"EnginePower","type":"object","properties":{"hp":{"type":"integer","format":"int32"},"torque":{"type":"integer","format":"int32"}},"examples":[{"hp":0,"torque":0}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"hp":{"format":"int32","type":"integer"},"torque":{}},"title":"EnginePower","type":"object"}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"discriminator":"vehicleType","title":"VehicleBase","type":"object","properties":{"enginePower":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"},"powerSource":{"type":"string"},"topSpeed":{"type":"integer","format":"int32"},"vehicleType":{"type":"string"}},"description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","examples":[{"batteryCapacity":0,"chargeTime":0,"enginePower":{"hp":0,"torque":0},"powerSource":"string","topSpeed":0,"vehicleType":"string"}],"oneOf":[{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"},{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","oneOf":[{"allOf":[{},{"properties":{"batteryCapacity":{},"chargeTime":{"format":"int32","type":"integer"}},"type":"object"}],"description":"ElectricvehicleimplementationofVehicleBase","type":"object"},{"allOf":[{},{"properties":{"fuelCapacity":{}},"type":"object"}],"description":"GasolinevehicleimplementationofVehicleBase","type":"object"}],"properties":{"enginePower":{"properties":{"hp":{},"torque":{}},"title":"EnginePower","type":"object"},"powerSource":{"type":"string"},"topSpeed":{},"vehicleType":{}},"title":"VehicleBase","type":"object"}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto":{"type":"object","description":"ElectricvehicleimplementationofVehicleBase","examples":[{"batteryCapacity":0,"chargeTime":0,"enginePower":{"hp":0,"torque":0},"powerSource":"string","topSpeed":0,"vehicleType":"string"}],"allOf":[{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"},{"type":"object","properties":{"batteryCapacity":{"type":"integer","format":"int32"},"chargeTime":{"type":"integer","format":"int32"}}}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","allOf":[{"description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","oneOf":[{},{"allOf":[{},{"properties":{"fuelCapacity":{"format":"int32","type":"integer"}},"type":"object"}],"description":"GasolinevehicleimplementationofVehicleBase","type":"object"}],"properties":{"enginePower":{"properties":{"hp":{},"torque":{}},"title":"EnginePower","type":"object"},"powerSource":{"type":"string"},"topSpeed":{},"vehicleType":{}},"title":"VehicleBase","type":"object"},{"properties":{"batteryCapacity":{},"chargeTime":{}},"type":"object"}],"description":"ElectricvehicleimplementationofVehicleBase","type":"object"}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto":{"type":"object","description":"GasolinevehicleimplementationofVehicleBase","examples":[{"enginePower":{"hp":0,"torque":0},"fuelCapacity":0,"powerSource":"string","topSpeed":0,"vehicleType":"string"}],"allOf":[{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"},{"type":"object","properties":{"fuelCapacity":{"type":"integer","format":"int32"}}}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","allOf":[{"description":"Demonstratestheuseofdiscriminatorforpolymorphicdeserialization(notpublishable)","oneOf":[{"allOf":[{},{"properties":{"batteryCapacity":{},"chargeTime":{"format":"int32","type":"integer"}},"type":"object"}],"description":"ElectricvehicleimplementationofVehicleBase","type":"object"},{}],"properties":{"enginePower":{"properties":{"hp":{},"torque":{}},"title":"EnginePower","type":"object"},"powerSource":{"type":"string"},"topSpeed":{},"vehicleType":{}},"title":"VehicleBase","type":"object"},{"properties":{"fuelCapacity":{}},"type":"object"}],"description":"GasolinevehicleimplementationofVehicleBase","type":"object"}},"java.lang.Integer":{"type":"integer","format":"int32","examples":[0],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","format":"int32","type":"integer"}},"java.lang.String":{"type":"string","examples":["\"string\""],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","type":"string"}},"javax.money.MonetaryAmount":{"type":"object","properties":{"amount":{"type":"number","exclusiveMinimum":0.01,"examples":[99.99]},"currency":{"type":"string","examples":["USD"]}},"examples":[{"amount":99.99,"currency":"USD"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"amount":{"exclusiveMinimum":0.01,"type":"number"},"currency":{"type":"string"}},"type":"object"}}},"messages":{"PayloadNotUsed":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"title":"PayloadNotUsed","type":"object","properties":{},"description":"Nopayloadspecified"}},"name":"PayloadNotUsed","title":"PayloadNotUsed","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"headers":{"$ref":"#/components/schemas/HeadersNotUsed"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"}},"name":"StringPayload","title":"StringEnvelope","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"headers":{"$ref":"#/components/schemas/HeadersNotDocumented"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}},"name":"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto","title":"AnotherPayloadAvroDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-Message"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}},"name":"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message","title":"Message","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-AnotherTopic"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto","title":"AnotherPayloadDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto","title":"ExamplePayloadDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"headers":{"$ref":"#/components/schemas/SpringDefaultHeaderAndCloudEvent"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto","title":"NestedPayloadDto","bindings":{"kafka":{"key":{"type":"string","description":"KafkaProducerMessageKey","examples":["example-key"]},"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}},"name":"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto","title":"RequiredAndNullablePayloadDto","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"headers":{"$ref":"#/components/schemas/HeadersNotDocumented"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}},"contentType":"text/xml","name":"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto","title":"XmlPayloadDto","description":"Showcasesaxmlbasedmessage","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"headers":{"$ref":"#/components/schemas/HeadersNotDocumented"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}},"contentType":"application/yaml","name":"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto","title":"YamlPayloadDto","description":"Showcasesayamlbasedmessage","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}},"name":"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase","title":"VehicleBase","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"java.lang.Integer":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-integer"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"type":"integer","format":"int32","examples":[0]}},"name":"java.lang.Integer","title":"integer","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"java.lang.String":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-string"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"type":"string","examples":["\"string\""]}},"name":"java.lang.String","title":"string","bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"javax.money.MonetaryAmount":{"headers":{"$ref":"#/components/schemas/SpringKafkaDefaultHeaders-MonetaryAmount"},"payload":{"schemaFormat":"application/vnd.aai.asyncapi+json;version=3.0.0","schema":{"$ref":"#/components/schemas/javax.money.MonetaryAmount"}},"name":"javax.money.MonetaryAmount","title":"MonetaryAmount","bindings":{"kafka":{"key":{"type":"string","description":"KafkaConsumerMessageKey","examples":["example-key"]},"bindingVersion":"0.5.0"}}}}},"operations":{"another-topic_receive_receiveAnotherPayloadBatched":{"action":"receive","channel":{"$ref":"#/channels/another-topic"},"bindings":{"kafka":{"groupId":{"type":"string","enum":["example-group-id"]},"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}]},"another-topic_send_sendMessage":{"action":"send","channel":{"$ref":"#/channels/another-topic"},"title":"another-topic_send","description":"Auto-generateddescription","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}]},"avro-topic_receive_receiveExampleAvroPayload":{"action":"receive","channel":{"$ref":"#/channels/avro-topic"},"title":"avro-topic_receive","description":"Requiresarunningkafka-schema-registry.Seedocker-compose.ymltostartit","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/avro-topic/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}]},"example-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/example-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/example-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}]},"integer-topic_receive_receiveIntegerPayload":{"action":"receive","channel":{"$ref":"#/channels/integer-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/integer-topic/messages/java.lang.Integer"}]},"multi-payload-topic_receive_ExampleClassLevelKafkaListener":{"action":"receive","channel":{"$ref":"#/channels/multi-payload-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},{"$ref":"#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"},{"$ref":"#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"}]},"multi-payload-topic_receive_receiveMonetaryAmount":{"action":"receive","channel":{"$ref":"#/channels/multi-payload-topic"},"title":"multi-payload-topic_receive","description":"OverridedescriptionintheAsyncListenerannotationwithserversatkafka:29092","bindings":{"kafka":{"groupId":{"type":"string","enum":["foo-groupId"]},"clientId":{"type":"string","enum":["foo-clientId"]},"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"}]},"no-payload-used-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/no-payload-used-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/no-payload-used-topic/messages/PayloadNotUsed"}]},"nullable-topic_receive_receiveNullablePayload":{"action":"receive","channel":{"$ref":"#/channels/nullable-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/nullable-topic/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}]},"protobuf-topic_receive_receiveExampleProtobufPayload":{"action":"receive","channel":{"$ref":"#/channels/protobuf-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/protobuf-topic/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}]},"string-topic_receive_receiveStringPayload":{"action":"receive","channel":{"$ref":"#/channels/string-topic"},"title":"string-topic_receive","description":"Finalclasses(likeString)canbedocumentedusinganenvelopeclassandthe@AsyncApiPayloadannotation.","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/string-topic/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"},{"$ref":"#/channels/string-topic/messages/java.lang.String"}]},"topic-defined-via-asyncPublisher-annotation_send_sendMessage":{"action":"send","channel":{"$ref":"#/channels/topic-defined-via-asyncPublisher-annotation"},"title":"topic-defined-via-asyncPublisher-annotation_send","description":"Custom,optionaldescriptiondefinedintheAsyncPublisherannotation","bindings":{"kafka":{"clientId":{"type":"string","enum":["foo-clientId"]},"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/topic-defined-via-asyncPublisher-annotation/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}]},"vehicle-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/vehicle-topic"},"bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}]},"xml-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/xml-topic"},"title":"xml-topic_receive","description":"Auto-generateddescription","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/xml-topic/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}]},"yaml-topic_receive_receiveExamplePayload":{"action":"receive","channel":{"$ref":"#/channels/yaml-topic"},"title":"yaml-topic_receive","description":"Auto-generateddescription","bindings":{"kafka":{"bindingVersion":"0.5.0"}},"messages":[{"$ref":"#/channels/yaml-topic/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}]}}}"
but was: "{"asyncapi":"3.0.0","info":{"title":"Springwolfexampleproject-Kafka","version":"1.0.0","description":"Springwolf[exampleproject](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example)todemonstratespringwolfsabilities,including**markdown**supportfordescriptions.","termsOfService":"http://asyncapi.org/terms","contact":{"name":"springwolf","url":"https://github.com/springwolf/springwolf-core","email":"[email protected]"},"license":{"name":"ApacheLicense2.0"},"x-generator":"springwolf"},"defaultContentType":"application/json","servers":{"kafka-server":{"host":"kafka:29092","protocol":"kafka"}},"channels":{"another-topic":{"address":"another-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"avro-topic":{"address":"avro-topic","messages":{"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"example-topic":{"address":"example-topic","messages":{"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"integer-topic":{"address":"integer-topic","messages":{"java.lang.Integer":{"$ref":"#/components/messages/java.lang.Integer"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"multi-payload-topic":{"address":"multi-payload-topic","messages":{"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"},"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"},"javax.money.MonetaryAmount":{"$ref":"#/components/messages/javax.money.MonetaryAmount"}},"bindings":{"kafka":{"topic":"multi-payload-topic","partitions":3,"replicas":1,"topicConfiguration":{"cleanup.policy":["compact","delete"],"retention.ms":86400000,"retention.bytes":-1,"delete.retention.ms":86400000,"max.message.bytes":1048588},"bindingVersion":"0.5.0"}}},"no-payload-used-topic":{"address":"no-payload-used-topic","messages":{"PayloadNotUsed":{"$ref":"#/components/messages/PayloadNotUsed"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"nullable-topic":{"address":"nullable-topic","messages":{"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"protobuf-topic":{"address":"protobuf-topic","messages":{"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"string-topic":{"address":"string-topic","messages":{"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"},"java.lang.String":{"$ref":"#/components/messages/java.lang.String"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"topic-defined-via-asyncPublisher-annotation":{"address":"topic-defined-via-asyncPublisher-annotation","messages":{"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"}},"servers":[{"$ref":"#/servers/kafka-server"}],"bindings":{}},"vehicle-topic":{"address":"vehicle-topic","messages":{"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"xml-topic":{"address":"xml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}},"yaml-topic":{"address":"yaml-topic","messages":{"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto":{"$ref":"#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}},"bindings":{"kafka":{"bindingVersion":"0.5.0"}}}},"components":{"schemas":{"HeadersNotDocumented":{"title":"HeadersNotDocumented","type":"object","properties":{},"description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Therecanbeheaders,buttheyarenotexplicitlydocumented.","title":"HeadersNotDocumented","type":"object"}},"HeadersNotUsed":{"title":"HeadersNotUsed","type":"object","properties":{},"description":"Noheadersarepresent.","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Noheadersarepresent.","title":"HeadersNotUsed","type":"object"}},"PayloadNotUsed":{"title":"PayloadNotUsed","type":"object","properties":{},"description":"Nopayloadspecified","examples":[{}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Nopayloadspecified","title":"PayloadNotUsed","type":"object"}},"SpringDefaultHeaderAndCloudEvent":{"title":"SpringDefaultHeaderAndCloudEvent","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"]},"ce_id":{"title":"ce_id","type":"string","description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"examples":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"]},"ce_source":{"title":"ce_source","type":"string","description":"CloudEventSourceHeader","enum":["http://localhost"],"examples":["http://localhost"]},"ce_specversion":{"title":"ce_specversion","type":"string","description":"CloudEventSpecVersionHeader","enum":["1.0"],"examples":["1.0"]},"ce_subject":{"title":"ce_subject","type":"string","description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"examples":["Springwolfexampleproject-Kafka"]},"ce_time":{"title":"ce_time","type":"string","description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"examples":["2023-10-2820:01:23+00:00"]},"ce_type":{"title":"ce_type","type":"string","description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"examples":["NestedPayloadDto.v1"]},"content-type":{"title":"content-type","type":"string","description":"CloudEventContent-TypeHeader","enum":["application/json"],"examples":["application/json"]}},"description":"Spring__TypeId__andCloudEventHeaders","examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto","ce_id":"2c60089e-6f39-459d-8ced-2d6df7e4c03a","ce_source":"http://localhost","ce_specversion":"1.0","ce_subject":"Springwolfexampleproject-Kafka","ce_time":"2023-10-2820:01:23+00:00","ce_type":"NestedPayloadDto.v1","content-type":"application/json"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Spring__TypeId__andCloudEventHeaders","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"],"title":"__TypeId__","type":"string"},"ce_id":{"description":"CloudEventIdHeader","enum":["2c60089e-6f39-459d-8ced-2d6df7e4c03a"],"title":"ce_id","type":"string"},"ce_source":{"description":"CloudEventSourceHeader","enum":["http://localhost"],"title":"ce_source","type":"string"},"ce_specversion":{"description":"CloudEventSpecVersionHeader","enum":["1.0"],"title":"ce_specversion","type":"string"},"ce_subject":{"description":"CloudEventSubjectHeader","enum":["Springwolfexampleproject-Kafka"],"title":"ce_subject","type":"string"},"ce_time":{"description":"CloudEventTimeHeader","enum":["2023-10-2820:01:23+00:00"],"title":"ce_time","type":"string"},"ce_type":{"description":"CloudEventPayloadTypeHeader","enum":["NestedPayloadDto.v1"],"title":"ce_type","type":"string"},"content-type":{"description":"CloudEventContent-TypeHeader","enum":["application/json"],"title":"content-type","type":"string"}},"title":"SpringDefaultHeaderAndCloudEvent","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"examples":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherPayloadDto":{"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-AnotherTopic":{"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"TypeID"},"my_uuid_field":{"title":"my_uuid_field","type":"string","description":"Eventidentifier","format":"uuid"}},"examples":[{"__TypeId__":"string","my_uuid_field":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"TypeID","title":"__TypeId__","type":"string"},"my_uuid_field":{"description":"Eventidentifier","format":"uuid","title":"my_uuid_field","type":"string"}},"title":"SpringKafkaDefaultHeaders-AnotherTopic","type":"object"}},"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105":{"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"]},"kafka_offset":{"type":"integer","format":"int32","examples":[0]},"kafka_receivedMessageKey":{"type":"string","examples":["\"string\""]},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object","examples":[{}]}},"examples":[{"ConsumerRecordMetadata":{},"__TypeId__":"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto","kafka_offset":0,"kafka_receivedMessageKey":"string"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"],"title":"__TypeId__","type":"string"},"kafka_offset":{"format":"int32","type":"integer"},"kafka_receivedMessageKey":{"type":"string"},"kafka_recordMetadata":{"title":"ConsumerRecordMetadata","type":"object"}},"title":"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105","type":"object"}},"SpringKafkaDefaultHeaders-Message":{"title":"SpringKafkaDefaultHeaders-Message","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"examples":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-Message","type":"object"}},"SpringKafkaDefaultHeaders-MonetaryAmount":{"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"examples":["javax.money.MonetaryAmount"]}},"examples":[{"__TypeId__":"javax.money.MonetaryAmount"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["javax.money.MonetaryAmount"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-MonetaryAmount","type":"object"}},"SpringKafkaDefaultHeaders-PayloadNotUsed":{"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"examples":["PayloadNotUsed"]}},"examples":[{"__TypeId__":"PayloadNotUsed"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["PayloadNotUsed"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-PayloadNotUsed","type":"object"}},"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto":{"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-VehicleBase":{"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"examples":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-VehicleBase","type":"object"}},"SpringKafkaDefaultHeaders-XmlPayloadDto":{"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-XmlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-YamlPayloadDto":{"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"examples":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"]}},"examples":[{"__TypeId__":"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-YamlPayloadDto","type":"object"}},"SpringKafkaDefaultHeaders-integer":{"title":"SpringKafkaDefaultHeaders-integer","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"examples":["java.lang.Integer"]}},"examples":[{"__TypeId__":"java.lang.Integer"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.Integer"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-integer","type":"object"}},"SpringKafkaDefaultHeaders-string":{"title":"SpringKafkaDefaultHeaders-string","type":"object","properties":{"__TypeId__":{"title":"__TypeId__","type":"string","description":"SpringTypeIdHeader","enum":["java.lang.String"],"examples":["java.lang.String"]}},"examples":[{"__TypeId__":"java.lang.String"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"__TypeId__":{"description":"SpringTypeIdHeader","enum":["java.lang.String"],"title":"__TypeId__","type":"string"}},"title":"SpringKafkaDefaultHeaders-string","type":"object"}},"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope":{"type":"string","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"examples":["\"string\""],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","description":"Payloaddescriptionusing@Schemaannotationand@AsyncApiPayloadwithinenvelopeclass","maxLength":100,"type":"string"}},"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto":{"title":"AnotherPayloadAvroDto","type":"object","properties":{"examplePayloadAvroDto":{"$ref":"#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"},"someEnum":{"type":"string","enum":["FOO1","FOO2","FOO3"]}},"examples":[{"examplePayloadAvroDto":{"someLong":0,"someString":"string"},"someEnum":"FOO1"}],"x-json-schema":{"$schema":"https://json-schema.org/draft-07/schema#","properties":{"examplePayloadAvroDto":{"properties":{"someLong":{"format":"int64","type":"integer"},"someString":{"type":"string"}},"title":"ExamplePayloadAvroDto","type":"object"},"someEnum":{"enum":["FOO1","FOO2","FOO3"],"type":"string"}},"title":"AnotherPayloadAvroDto","type":"object"}},"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto":{"title":"ExamplePayloadAvroDto","type":"object","properties":{"someLong":{"type":"integer","format":"int64"},"someString":{"type":"string"}},"examples":[{"someLong"
github-actions / test-plugin-kafka-junit
PayloadSchemaFormatIntegrationTest.asyncApiStandaloneArtifactTest()
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "There can be headers, but they are not explicitly documented.",
"example": { },
"properties": { },
"title": "HeadersNotDocumented"
}
},
"HeadersNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "No headers are present.",
"example": { },
"properties": { },
"title": "HeadersNotUsed"
}
},
"PayloadNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "No payload specified",
"example": { },
"properties": { },
"title": "PayloadNotUsed"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "Spring __TypeId__ and CloudEvent Headers",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__"
},
"ce_id": {
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id"
},
"ce_source": {
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
],
"title": "ce_source"
},
"ce_specversion": {
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
],
"title": "ce_specversion"
},
"ce_subject": {
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
],
"title": "ce_subject"
},
"ce_time": {
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time"
},
"ce_type": {
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
],
"title": "ce_type"
},
"content-type": {
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
],
"title": "content-type"
}
},
"title": "SpringDefaultHeaderAndCloudEvent"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Type ID",
"title": "__TypeId__"
},
"my_uuid_field": {
"type": "string",
"format": "uuid",
"description": "Event identifier",
"title": "my_uuid_field"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-1610003719": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "\"string\"",
"org.springframework.kafka.listener.adapter.ConsumerRecordMetadata": { }
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__"
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"example": 0
},
"kafka_receivedMessageKey": {
"type": "string",
"example": "\"string\""
},
"kafka_recordMetadata": {
"example": { },
"title": "ConsumerRecordMetadata"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-1610003719"
}
},
"SpringKafkaDefaultHeaders-Message": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-Message"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "javax.money.MonetaryAmount"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "PayloadNotUsed"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto"
}
},
"SpringKafkaDefaultHeaders-integer": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "java.lang.Integer"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-integer"
}
},
"SpringKafkaDefaultHeaders-string": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "java.lang.String"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-string"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"example": "\"string\"",
"maxLength": 100
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
},
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"title": "AnotherPayloadAvroDto"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"someLong": 0,
"someString": "string"
},
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
},
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "Message"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Another payload model",
"example": {
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
},
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"example": "bar",
"maxLength": 100
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"example": "FOO2"
},
"someLong": {
"type": "integer",
"format": "int64",
"description": "Some long field",
"example": 5,
"minimum": 0
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"example": "some string value"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Payload model with nested complex types",
"example": {
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
},
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"example": "some string value"
},
"uniqueItems": true
}
},
"title": "NestedPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"example": {
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
},
"properties": {
"enumField": {
"type": "string",
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2"
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": "string",
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": "string",
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>",
"properties": {
"someAttribute": {
"type": "string",
"xml": {
"attribute": true
}
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "someEnum: FOO1\nsomeLong: 0\nsomeString: string\n",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"hp": 0,
"torque": 0
},
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"title": "EnginePower"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"discriminator": {
"propertyName": "vehicleType",
"mapping": {
"VehicleElectricPayloadDto": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto",
"VehicleGasolinePayloadDto": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
},
"example": {
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
},
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"title": "VehicleBase"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"description": "Electric vehicle implementation of VehicleBase",
"example": {
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"example": {
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
}
},
"java.lang.Integer": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "integer",
"format": "int32",
"example": 0
}
},
"java.lang.String": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "\"string\""
}
},
"javax.money.MonetaryAmount": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"amount": 99.99,
"currency": "USD"
},
"properties": {
"amount": {
"type": "number",
"example": 99.99,
"minimum": 0.01
},
"currency": {
"type": "string",
"example": "USD"
}
}
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-AnotherTopic"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto",
"title": "AnotherPayloadDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-ExamplePayloadDto-1610003719"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"title": "ExamplePayloadDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringDefaultHeaderAndCloudEvent"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"title": "NestedPayloadDto",
"bindings": {
"kafka": {
"key": {
"type": "string",
"description": "Kafka Producer Message Key",
"examples": [
"example-key"
]
},
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto",
"title": "RequiredAndNullablePayloadDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"contentType": "text/xml",
"name": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto",
"title": "XmlPayloadDto",
"description": "Showcases a xml based message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"contentType": "application/yaml",
"name": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto",
"title": "YamlPayloadDto",
"description": "Showcases a yaml based message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase",
"title": "VehicleBase",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"java.lang.Integer": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-integer"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "integer",
"format": "int32",
"example": 0
}
}
},
"name": "java.lang.Integer",
"title": "integer",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"java.lang.String": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-string"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "\"string\""
}
}
},
"name": "java.lang.String",
"title": "string",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"javax.money.MonetaryAmount": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-MonetaryAmount"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/javax.money.MonetaryAmount"
}
},
"name": "javax.money.MonetaryAmount",
"title": "MonetaryAmount",
"bindings": {
"kafka": {
"key": {
"type": "string",
"description": "Kafka Consumer Message Key",
"examples": [
"example-key"
]
},
"bindingVersion": "0.5.0"
}
}
}
}
},
"operations": {
"another-topic_receive_receiveAnotherPayloadBatched": {
"action": "receive",
"channel": {
"$ref": "#/channels/another-topic"
},
"bindings": {
"kafka": {
"groupId": {
"type": "string",
"enum": [
"example-group-id"
]
},
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
]
},
"another-topic_send_sendMessage": {
"action": "send",
"channel": {
"$ref": "#/channels/another-topic"
},
"title": "another-topic_send",
"description": "Auto-generated description",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
]
},
"avro-topic_receive_receiveExampleAvroPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/avro-topic"
},
"title": "avro-topic_receive",
"description": "Requires a running kafka-schema-registry. See docker-compose.yml to start it",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/avro-topic/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
]
},
"example-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/example-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/example-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
]
},
"integer-topic_receive_receiveIntegerPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/integer-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/integer-topic/messages/java.lang.Integer"
}
]
},
"multi-payload-topic_receive_ExampleClassLevelKafkaListener": {
"action": "receive",
"channel": {
"$ref": "#/channels/multi-payload-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
{
"$ref": "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
{
"$ref": "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
}
]
},
"multi-payload-topic_receive_receiveMonetaryAmount": {
"action": "receive",
"channel": {
"$ref": "#/channels/multi-payload-topic"
},
"title": "multi-payload-topic_receive",
"description": "Override description in the AsyncListener annotation with servers at kafka:29092",
"bindings": {
"kafka": {
"groupId": {
"type": "string",
"enum": [
"foo-groupId"
]
},
"clientId": {
"type": "string",
"enum": [
"foo-clientId"
]
},
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
}
]
},
"no-payload-used-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/no-payload-used-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/no-payload-used-topic/messages/PayloadNotUsed"
}
]
},
"nullable-topic_receive_receiveNullablePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/nullable-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/nullable-topic/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
]
},
"protobuf-topic_receive_receiveExampleProtobufPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/protobuf-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/protobuf-topic/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
]
},
"string-topic_receive_receiveStringPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/string-topic"
},
"title": "string-topic_receive",
"description": "Final classes (like String) can be documented using an envelope class and the @AsyncApiPayload annotation.",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/string-topic/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
{
"$ref": "#/channels/string-topic/messages/java.lang.String"
}
]
},
"topic-defined-via-asyncPublisher-annotation_send_sendMessage": {
"action": "send",
"channel": {
"$ref": "#/channels/topic-defined-via-asyncPublisher-annotation"
},
"title": "topic-defined-via-asyncPublisher-annotation_send",
"description": "Custom, optional description defined in the AsyncPublisher annotation",
"bindings": {
"kafka": {
"clientId": {
"type": "string",
"enum": [
"foo-clientId"
]
},
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/topic-defined-via-asyncPublisher-annotation/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
]
},
"vehicle-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/vehicle-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
]
},
"xml-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/xml-topic"
},
"title": "xml-topic_receive",
"description": "Auto-generated description",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/xml-topic/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
]
},
"yaml-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/yaml-topic"
},
"title": "yaml-topic_receive",
"description": "Auto-generated description",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/yaml-topic/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
]
}
}
}"
but was:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "There can be headers, but they are not explicitly documented.",
"example": { },
"properties": { },
"title": "HeadersNotDocumented"
}
},
"HeadersNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "No headers are present.",
"example": { },
"properties": { },
"title": "HeadersNotUsed"
}
},
"PayloadNotUsed": {
Raw output
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "There can be headers, but they are not explicitly documented.",
"example": { },
"properties": { },
"title": "HeadersNotDocumented"
}
},
"HeadersNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "No headers are present.",
"example": { },
"properties": { },
"title": "HeadersNotUsed"
}
},
"PayloadNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "No payload specified",
"example": { },
"properties": { },
"title": "PayloadNotUsed"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "Spring __TypeId__ and CloudEvent Headers",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__"
},
"ce_id": {
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id"
},
"ce_source": {
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
],
"title": "ce_source"
},
"ce_specversion": {
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
],
"title": "ce_specversion"
},
"ce_subject": {
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
],
"title": "ce_subject"
},
"ce_time": {
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time"
},
"ce_type": {
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
],
"title": "ce_type"
},
"content-type": {
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
],
"title": "content-type"
}
},
"title": "SpringDefaultHeaderAndCloudEvent"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Type ID",
"title": "__TypeId__"
},
"my_uuid_field": {
"type": "string",
"format": "uuid",
"description": "Event identifier",
"title": "my_uuid_field"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-1610003719": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "\"string\"",
"org.springframework.kafka.listener.adapter.ConsumerRecordMetadata": { }
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__"
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"example": 0
},
"kafka_receivedMessageKey": {
"type": "string",
"example": "\"string\""
},
"kafka_recordMetadata": {
"example": { },
"title": "ConsumerRecordMetadata"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-1610003719"
}
},
"SpringKafkaDefaultHeaders-Message": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-Message"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "javax.money.MonetaryAmount"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "PayloadNotUsed"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto"
}
},
"SpringKafkaDefaultHeaders-integer": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "java.lang.Integer"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-integer"
}
},
"SpringKafkaDefaultHeaders-string": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"example": {
"__TypeId__": "java.lang.String"
},
"properties": {
"__TypeId__": {
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
],
"title": "__TypeId__"
}
},
"title": "SpringKafkaDefaultHeaders-string"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"example": "\"string\"",
"maxLength": 100
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
},
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"title": "AnotherPayloadAvroDto"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"someLong": 0,
"someString": "string"
},
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
},
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "Message"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Another payload model",
"example": {
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
},
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"example": "bar",
"maxLength": 100
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"example": "FOO2"
},
"someLong": {
"type": "integer",
"format": "int64",
"description": "Some long field",
"example": 5,
"minimum": 0
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"example": "some string value"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Payload model with nested complex types",
"example": {
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
},
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"example": "some string value"
},
"uniqueItems": true
}
},
"title": "NestedPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"example": {
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
},
"properties": {
"enumField": {
"type": "string",
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2"
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": "string",
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": "string",
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>",
"properties": {
"someAttribute": {
"type": "string",
"xml": {
"attribute": true
}
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "someEnum: FOO1\nsomeLong: 0\nsomeString: string\n",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"hp": 0,
"torque": 0
},
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"title": "EnginePower"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"discriminator": {
"propertyName": "vehicleType",
"mapping": {
"VehicleElectricPayloadDto": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto",
"VehicleGasolinePayloadDto": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
},
"example": {
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
},
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"title": "VehicleBase"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"description": "Electric vehicle implementation of VehicleBase",
"example": {
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"example": {
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
}
},
"java.lang.Integer": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "integer",
"format": "int32",
"example": 0
}
},
"java.lang.String": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "\"string\""
}
},
"javax.money.MonetaryAmount": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"example": {
"amount": 99.99,
"currency": "USD"
},
"properties": {
"amount": {
"type": "number",
"example": 99.99,
"minimum": 0.01
},
"currency": {
"type": "string",
"example": "USD"
}
}
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-AnotherTopic"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto",
"title": "AnotherPayloadDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-ExamplePayloadDto-1610003719"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"title": "ExamplePayloadDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringDefaultHeaderAndCloudEvent"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"title": "NestedPayloadDto",
"bindings": {
"kafka": {
"key": {
"type": "string",
"description": "Kafka Producer Message Key",
"examples": [
"example-key"
]
},
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto",
"title": "RequiredAndNullablePayloadDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"contentType": "text/xml",
"name": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto",
"title": "XmlPayloadDto",
"description": "Showcases a xml based message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"contentType": "application/yaml",
"name": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto",
"title": "YamlPayloadDto",
"description": "Showcases a yaml based message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-VehicleBase"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"name": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase",
"title": "VehicleBase",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"java.lang.Integer": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-integer"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "integer",
"format": "int32",
"example": 0
}
}
},
"name": "java.lang.Integer",
"title": "integer",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"java.lang.String": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-string"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "string",
"example": "\"string\""
}
}
},
"name": "java.lang.String",
"title": "string",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"javax.money.MonetaryAmount": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-MonetaryAmount"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/javax.money.MonetaryAmount"
}
},
"name": "javax.money.MonetaryAmount",
"title": "MonetaryAmount",
"bindings": {
"kafka": {
"key": {
"type": "string",
"description": "Kafka Consumer Message Key",
"examples": [
"example-key"
]
},
"bindingVersion": "0.5.0"
}
}
}
}
},
"operations": {
"another-topic_receive_receiveAnotherPayloadBatched": {
"action": "receive",
"channel": {
"$ref": "#/channels/another-topic"
},
"bindings": {
"kafka": {
"groupId": {
"type": "string",
"enum": [
"example-group-id"
]
},
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
]
},
"another-topic_send_sendMessage": {
"action": "send",
"channel": {
"$ref": "#/channels/another-topic"
},
"title": "another-topic_send",
"description": "Auto-generated description",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/another-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
]
},
"avro-topic_receive_receiveExampleAvroPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/avro-topic"
},
"title": "avro-topic_receive",
"description": "Requires a running kafka-schema-registry. See docker-compose.yml to start it",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/avro-topic/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
]
},
"example-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/example-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/example-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
]
},
"integer-topic_receive_receiveIntegerPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/integer-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/integer-topic/messages/java.lang.Integer"
}
]
},
"multi-payload-topic_receive_ExampleClassLevelKafkaListener": {
"action": "receive",
"channel": {
"$ref": "#/channels/multi-payload-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
{
"$ref": "#/channels/multi-payload-topic/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
{
"$ref": "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
}
]
},
"multi-payload-topic_receive_receiveMonetaryAmount": {
"action": "receive",
"channel": {
"$ref": "#/channels/multi-payload-topic"
},
"title": "multi-payload-topic_receive",
"description": "Override description in the AsyncListener annotation with servers at kafka:29092",
"bindings": {
"kafka": {
"groupId": {
"type": "string",
"enum": [
"foo-groupId"
]
},
"clientId": {
"type": "string",
"enum": [
"foo-clientId"
]
},
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/multi-payload-topic/messages/javax.money.MonetaryAmount"
}
]
},
"no-payload-used-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/no-payload-used-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/no-payload-used-topic/messages/PayloadNotUsed"
}
]
},
"nullable-topic_receive_receiveNullablePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/nullable-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/nullable-topic/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
]
},
"protobuf-topic_receive_receiveExampleProtobufPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/protobuf-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/protobuf-topic/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
]
},
"string-topic_receive_receiveStringPayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/string-topic"
},
"title": "string-topic_receive",
"description": "Final classes (like String) can be documented using an envelope class and the @AsyncApiPayload annotation.",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/string-topic/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
{
"$ref": "#/channels/string-topic/messages/java.lang.String"
}
]
},
"topic-defined-via-asyncPublisher-annotation_send_sendMessage": {
"action": "send",
"channel": {
"$ref": "#/channels/topic-defined-via-asyncPublisher-annotation"
},
"title": "topic-defined-via-asyncPublisher-annotation_send",
"description": "Custom, optional description defined in the AsyncPublisher annotation",
"bindings": {
"kafka": {
"clientId": {
"type": "string",
"enum": [
"foo-clientId"
]
},
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/topic-defined-via-asyncPublisher-annotation/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
]
},
"vehicle-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/vehicle-topic"
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/vehicle-topic/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
]
},
"xml-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/xml-topic"
},
"title": "xml-topic_receive",
"description": "Auto-generated description",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/xml-topic/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
]
},
"yaml-topic_receive_receiveExamplePayload": {
"action": "receive",
"channel": {
"$ref": "#/channels/yaml-topic"
},
"title": "yaml-topic_receive",
"description": "Auto-generated description",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
},
"messages": [
{
"$ref": "#/channels/yaml-topic/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
]
}
}
}"
but was:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "There can be headers, but they are not explicitly documented.",
"example": { },
"properties": { },
"title": "HeadersNotDocumented"
}
},
"HeadersNotUsed": {
"schemaFormat": "application/vnd.oai.openapi;version=3.1.0",
"schema": {
"type": "object",
"description": "No headers are present.",
"example": { },
"properties": { },
"title": "HeadersNotUsed"
}
},
"PayloadNotUsed": {
github-actions / test-plugin-kafka-junit
StandaloneTest.asyncApiStandaloneArtifactTest()
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/com
Raw output
org.opentest4j.AssertionFailedError:
expected:
"{
"asyncapi": "3.0.0",
"info": {
"title": "Springwolf example project - Kafka",
"version": "1.0.0",
"description": "Springwolf [example project](https://github.com/springwolf/springwolf-core/tree/main/springwolf-examples/springwolf-kafka-example) to demonstrate springwolfs abilities, including **markdown** support for descriptions.",
"termsOfService": "http://asyncapi.org/terms",
"contact": {
"name": "springwolf",
"url": "https://github.com/springwolf/springwolf-core",
"email": "[email protected]"
},
"license": {
"name": "Apache License 2.0"
},
"x-generator": "springwolf"
},
"defaultContentType": "application/json",
"servers": {
"kafka-server": {
"host": "kafka:29092",
"protocol": "kafka"
}
},
"channels": {
"another-topic": {
"address": "another-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"avro-topic": {
"address": "avro-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"example-topic": {
"address": "example-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"integer-topic": {
"address": "integer-topic",
"messages": {
"java.lang.Integer": {
"$ref": "#/components/messages/java.lang.Integer"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"multi-payload-topic": {
"address": "multi-payload-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"javax.money.MonetaryAmount": {
"$ref": "#/components/messages/javax.money.MonetaryAmount"
}
},
"bindings": {
"kafka": {
"topic": "multi-payload-topic",
"partitions": 3,
"replicas": 1,
"topicConfiguration": {
"cleanup.policy": [
"compact",
"delete"
],
"retention.ms": 86400000,
"retention.bytes": -1,
"delete.retention.ms": 86400000,
"max.message.bytes": 1048588
},
"bindingVersion": "0.5.0"
}
}
},
"no-payload-used-topic": {
"address": "no-payload-used-topic",
"messages": {
"PayloadNotUsed": {
"$ref": "#/components/messages/PayloadNotUsed"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"nullable-topic": {
"address": "nullable-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"protobuf-topic": {
"address": "protobuf-topic",
"messages": {
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"string-topic": {
"address": "string-topic",
"messages": {
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
},
"java.lang.String": {
"$ref": "#/components/messages/java.lang.String"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"topic-defined-via-asyncPublisher-annotation": {
"address": "topic-defined-via-asyncPublisher-annotation",
"messages": {
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
}
},
"servers": [
{
"$ref": "#/servers/kafka-server"
}
],
"bindings": { }
},
"vehicle-topic": {
"address": "vehicle-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"xml-topic": {
"address": "xml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"yaml-topic": {
"address": "yaml-topic",
"messages": {
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"$ref": "#/components/messages/io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
},
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
}
},
"components": {
"schemas": {
"HeadersNotDocumented": {
"title": "HeadersNotDocumented",
"type": "object",
"properties": { },
"description": "There can be headers, but they are not explicitly documented.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "There can be headers, but they are not explicitly documented.",
"title": "HeadersNotDocumented",
"type": "object"
}
},
"HeadersNotUsed": {
"title": "HeadersNotUsed",
"type": "object",
"properties": { },
"description": "No headers are present.",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No headers are present.",
"title": "HeadersNotUsed",
"type": "object"
}
},
"PayloadNotUsed": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified",
"examples": [
{ }
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "No payload specified",
"title": "PayloadNotUsed",
"type": "object"
}
},
"SpringDefaultHeaderAndCloudEvent": {
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
]
},
"ce_id": {
"title": "ce_id",
"type": "string",
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"examples": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
]
},
"ce_source": {
"title": "ce_source",
"type": "string",
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"examples": [
"http://localhost"
]
},
"ce_specversion": {
"title": "ce_specversion",
"type": "string",
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"examples": [
"1.0"
]
},
"ce_subject": {
"title": "ce_subject",
"type": "string",
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"examples": [
"Springwolf example project - Kafka"
]
},
"ce_time": {
"title": "ce_time",
"type": "string",
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"examples": [
"2023-10-28 20:01:23+00:00"
]
},
"ce_type": {
"title": "ce_type",
"type": "string",
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"examples": [
"NestedPayloadDto.v1"
]
},
"content-type": {
"title": "content-type",
"type": "string",
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"examples": [
"application/json"
]
}
},
"description": "Spring __TypeId__ and CloudEvent Headers",
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.NestedPayloadDto",
"ce_id": "2c60089e-6f39-459d-8ced-2d6df7e4c03a",
"ce_source": "http://localhost",
"ce_specversion": "1.0",
"ce_subject": "Springwolf example project - Kafka",
"ce_time": "2023-10-28 20:01:23+00:00",
"ce_type": "NestedPayloadDto.v1",
"content-type": "application/json"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Spring __TypeId__ and CloudEvent Headers",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"ce_id": {
"description": "CloudEvent Id Header",
"enum": [
"2c60089e-6f39-459d-8ced-2d6df7e4c03a"
],
"title": "ce_id",
"type": "string"
},
"ce_source": {
"description": "CloudEvent Source Header",
"enum": [
"http://localhost"
],
"title": "ce_source",
"type": "string"
},
"ce_specversion": {
"description": "CloudEvent Spec Version Header",
"enum": [
"1.0"
],
"title": "ce_specversion",
"type": "string"
},
"ce_subject": {
"description": "CloudEvent Subject Header",
"enum": [
"Springwolf example project - Kafka"
],
"title": "ce_subject",
"type": "string"
},
"ce_time": {
"description": "CloudEvent Time Header",
"enum": [
"2023-10-28 20:01:23+00:00"
],
"title": "ce_time",
"type": "string"
},
"ce_type": {
"description": "CloudEvent Payload Type Header",
"enum": [
"NestedPayloadDto.v1"
],
"title": "ce_type",
"type": "string"
},
"content-type": {
"description": "CloudEvent Content-Type Header",
"enum": [
"application/json"
],
"title": "content-type",
"type": "string"
}
},
"title": "SpringDefaultHeaderAndCloudEvent",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadAvroDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadAvroDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherPayloadDto": {
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-AnotherTopic": {
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Type ID"
},
"my_uuid_field": {
"title": "my_uuid_field",
"type": "string",
"description": "Event identifier",
"format": "uuid"
}
},
"examples": [
{
"__TypeId__": "string",
"my_uuid_field": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Type ID",
"title": "__TypeId__",
"type": "string"
},
"my_uuid_field": {
"description": "Event identifier",
"format": "uuid",
"title": "my_uuid_field",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-AnotherTopic",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105": {
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
]
},
"kafka_offset": {
"type": "integer",
"format": "int32",
"examples": [
0
]
},
"kafka_receivedMessageKey": {
"type": "string",
"examples": [
"\"string\""
]
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object",
"examples": [
{ }
]
}
},
"examples": [
{
"ConsumerRecordMetadata": { },
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto",
"kafka_offset": 0,
"kafka_receivedMessageKey": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
],
"title": "__TypeId__",
"type": "string"
},
"kafka_offset": {
"format": "int32",
"type": "integer"
},
"kafka_receivedMessageKey": {
"type": "string"
},
"kafka_recordMetadata": {
"title": "ConsumerRecordMetadata",
"type": "object"
}
},
"title": "SpringKafkaDefaultHeaders-ExamplePayloadDto-546532105",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-Message": {
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"examples": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-Message",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-MonetaryAmount": {
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"examples": [
"javax.money.MonetaryAmount"
]
}
},
"examples": [
{
"__TypeId__": "javax.money.MonetaryAmount"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"javax.money.MonetaryAmount"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-MonetaryAmount",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-PayloadNotUsed": {
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"examples": [
"PayloadNotUsed"
]
}
},
"examples": [
{
"__TypeId__": "PayloadNotUsed"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"PayloadNotUsed"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-PayloadNotUsed",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto": {
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-RequiredAndNullablePayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-VehicleBase": {
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-VehicleBase",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-XmlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-XmlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-YamlPayloadDto": {
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"examples": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
]
}
},
"examples": [
{
"__TypeId__": "io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-YamlPayloadDto",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-integer": {
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"examples": [
"java.lang.Integer"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.Integer"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.Integer"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-integer",
"type": "object"
}
},
"SpringKafkaDefaultHeaders-string": {
"title": "SpringKafkaDefaultHeaders-string",
"type": "object",
"properties": {
"__TypeId__": {
"title": "__TypeId__",
"type": "string",
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"examples": [
"java.lang.String"
]
}
},
"examples": [
{
"__TypeId__": "java.lang.String"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"__TypeId__": {
"description": "Spring Type Id Header",
"enum": [
"java.lang.String"
],
"title": "__TypeId__",
"type": "string"
}
},
"title": "SpringKafkaDefaultHeaders-string",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"type": "string",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload description using @Schema annotation and @AsyncApiPayload within envelope class",
"maxLength": 100,
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"title": "AnotherPayloadAvroDto",
"type": "object",
"properties": {
"examplePayloadAvroDto": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
}
},
"examples": [
{
"examplePayloadAvroDto": {
"someLong": 0,
"someString": "string"
},
"someEnum": "FOO1"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"examplePayloadAvroDto": {
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
},
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
}
},
"title": "AnotherPayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto": {
"title": "ExamplePayloadAvroDto",
"type": "object",
"properties": {
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "ExamplePayloadAvroDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"title": "Message",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
{
"someEnum": "FOO1",
"someLong": 0,
"someString": "string"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3",
"UNRECOGNIZED"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "Message",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"title": "AnotherPayloadDto",
"type": "object",
"properties": {
"example": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
},
"foo": {
"type": "string",
"description": "Foo field",
"maxLength": 100,
"examples": [
"bar"
]
}
},
"description": "Another payload model",
"examples": [
{
"example": {
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
},
"foo": "bar"
}
],
"required": [
"example"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Another payload model",
"properties": {
"example": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"foo": {
"description": "Foo field",
"maxLength": 100,
"type": "string"
}
},
"required": [
"example"
],
"title": "AnotherPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto": {
"title": "ExamplePayloadDto",
"type": "object",
"properties": {
"someEnum": {
"type": "string",
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"examples": [
"FOO2"
]
},
"someLong": {
"type": "integer",
"description": "Some long field",
"format": "int64",
"minimum": 0,
"examples": [
5
]
},
"someString": {
"type": "string",
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"examples": [
"some string value"
]
}
},
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"examples": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"required": [
"someEnum",
"someString"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.NestedPayloadDto": {
"title": "NestedPayloadDto",
"type": "object",
"properties": {
"examplePayloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto"
}
},
"someStrings": {
"type": "array",
"items": {
"type": "string",
"description": "Some string field",
"examples": [
"some string value"
]
},
"uniqueItems": true
}
},
"description": "Payload model with nested complex types",
"examples": [
{
"examplePayloads": [
{
"someEnum": "FOO2",
"someLong": 5,
"someString": "some string value"
}
],
"someStrings": [
"some string value"
]
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Payload model with nested complex types",
"properties": {
"examplePayloads": {
"items": {
"description": "Example payload model demonstrating markdown text styling:\n**bold**, *cursive* and <u>underlined</u>\n",
"properties": {
"someEnum": {
"description": "Some enum field",
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"description": "Some long field",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"someString": {
"description": "### Some string field with Markdown\n\n- **bold**\n- *cursive*\n- images: <img src=\"./assets/springwolf-logo.png\" alt=\"Springwolf\" height=\"50\"/>\n- and code blocks (json, http, java)\n ```json\n {\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n ```\n",
"type": "string"
}
},
"required": [
"someEnum",
"someString"
],
"title": "ExamplePayloadDto",
"type": "object"
},
"type": "array"
},
"someStrings": {
"items": {
"description": "Some string field",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"title": "NestedPayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.RequiredAndNullablePayloadDto": {
"title": "RequiredAndNullablePayloadDto",
"type": "object",
"properties": {
"enumField": {
"type": [
"string",
"null"
],
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
]
},
"notRequiredField": {
"type": "string",
"description": "This field can be skipped, but value cannot be null"
},
"requiredAndNullableField": {
"type": [
"string",
"null"
],
"description": "This field can be skipped, or value can be null or present"
},
"requiredButNullableField": {
"type": [
"string",
"null"
],
"description": "This field must be present, but value can be null"
},
"requiredField": {
"type": "string",
"description": "This field must be present, and value cannot be null"
}
},
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"examples": [
{
"enumField": "COMPLEX1",
"notRequiredField": "string",
"requiredAndNullableField": "string",
"requiredButNullableField": "string",
"requiredField": "string"
}
],
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrate required and nullable. Note, @Schema is only descriptive without nullability check",
"properties": {
"enumField": {
"description": "Follows OpenAPI 3.1 spec",
"enum": [
"COMPLEX1",
"COMPLEX2",
null
],
"type": [
"string",
"null"
]
},
"notRequiredField": {
"description": "This field can be skipped, but value cannot be null",
"type": "string"
},
"requiredAndNullableField": {
"description": "This field can be skipped, or value can be null or present",
"type": [
"string",
"null"
]
},
"requiredButNullableField": {
"description": "This field must be present, but value can be null",
"type": [
"string",
"null"
]
},
"requiredField": {
"description": "This field must be present, and value cannot be null",
"type": "string"
}
},
"required": [
"enumField",
"requiredButNullableField",
"requiredField"
],
"title": "RequiredAndNullablePayloadDto",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.XmlPayloadDto": {
"title": "XmlPayloadDto",
"type": "string",
"properties": {
"someAttribute": {
"type": "string"
},
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"<io.github.springwolf.examples.kafka.dtos.XmlPayloadDto someAttribute=\"string\"><someEnum>FOO1</someEnum><someLong>0</someLong><someString>string</someString></io.github.springwolf.examples.kafka.dtos.XmlPayloadDto>"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someAttribute": { },
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "XmlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.YamlPayloadDto": {
"title": "YamlPayloadDto",
"type": "string",
"properties": {
"someEnum": {
"type": "string",
"enum": [
"FOO1",
"FOO2",
"FOO3"
]
},
"someLong": {
"type": "integer",
"format": "int64"
},
"someString": {
"type": "string"
}
},
"examples": [
"someEnum: FOO1\nsomeLong: 0\nsomeString: string\n"
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"someEnum": {
"enum": [
"FOO1",
"FOO2",
"FOO3"
],
"type": "string"
},
"someLong": {
"format": "int64",
"type": "integer"
},
"someString": {
"type": "string"
}
},
"title": "YamlPayloadDto",
"type": "string"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower": {
"title": "EnginePower",
"type": "object",
"properties": {
"hp": {
"type": "integer",
"format": "int32"
},
"torque": {
"type": "integer",
"format": "int32"
}
},
"examples": [
{
"hp": 0,
"torque": 0
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"hp": {
"format": "int32",
"type": "integer"
},
"torque": { }
},
"title": "EnginePower",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase": {
"discriminator": "vehicleType",
"title": "VehicleBase",
"type": "object",
"properties": {
"enginePower": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.EnginePower"
},
"powerSource": {
"type": "string"
},
"topSpeed": {
"type": "integer",
"format": "int32"
},
"vehicleType": {
"type": "string"
}
},
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"oneOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto"
},
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto": {
"type": "object",
"description": "Electric vehicle implementation of VehicleBase",
"examples": [
{
"batteryCapacity": 0,
"chargeTime": 0,
"enginePower": {
"hp": 0,
"torque": 0
},
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"batteryCapacity": {
"type": "integer",
"format": "int32"
},
"chargeTime": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{ },
{
"allOf": [
{ },
{
"properties": {
"fuelCapacity": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"batteryCapacity": { },
"chargeTime": { }
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
}
},
"io.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto": {
"type": "object",
"description": "Gasoline vehicle implementation of VehicleBase",
"examples": [
{
"enginePower": {
"hp": 0,
"torque": 0
},
"fuelCapacity": 0,
"powerSource": "string",
"topSpeed": 0,
"vehicleType": "string"
}
],
"allOf": [
{
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase"
},
{
"type": "object",
"properties": {
"fuelCapacity": {
"type": "integer",
"format": "int32"
}
}
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"allOf": [
{
"description": "Demonstrates the use of discriminator for polymorphic deserialization (not publishable)",
"oneOf": [
{
"allOf": [
{ },
{
"properties": {
"batteryCapacity": { },
"chargeTime": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
}
],
"description": "Electric vehicle implementation of VehicleBase",
"type": "object"
},
{ }
],
"properties": {
"enginePower": {
"properties": {
"hp": { },
"torque": { }
},
"title": "EnginePower",
"type": "object"
},
"powerSource": {
"type": "string"
},
"topSpeed": { },
"vehicleType": { }
},
"title": "VehicleBase",
"type": "object"
},
{
"properties": {
"fuelCapacity": { }
},
"type": "object"
}
],
"description": "Gasoline vehicle implementation of VehicleBase",
"type": "object"
}
},
"java.lang.Integer": {
"type": "integer",
"format": "int32",
"examples": [
0
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"format": "int32",
"type": "integer"
}
},
"java.lang.String": {
"type": "string",
"examples": [
"\"string\""
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "string"
}
},
"javax.money.MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0.01,
"examples": [
99.99
]
},
"currency": {
"type": "string",
"examples": [
"USD"
]
}
},
"examples": [
{
"amount": 99.99,
"currency": "USD"
}
],
"x-json-schema": {
"$schema": "https://json-schema.org/draft-07/schema#",
"properties": {
"amount": {
"exclusiveMinimum": 0.01,
"type": "number"
},
"currency": {
"type": "string"
}
},
"type": "object"
}
}
},
"messages": {
"PayloadNotUsed": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-PayloadNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"title": "PayloadNotUsed",
"type": "object",
"properties": { },
"description": "No payload specified"
}
},
"name": "PayloadNotUsed",
"title": "PayloadNotUsed",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope": {
"headers": {
"$ref": "#/components/schemas/HeadersNotUsed"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.consumers.StringConsumer.StringEnvelope"
}
},
"name": "StringPayload",
"title": "StringEnvelope",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto": {
"headers": {
"$ref": "#/components/schemas/HeadersNotDocumented"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto"
}
},
"name": "io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto",
"title": "AnotherPayloadAvroDto",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message": {
"headers": {
"$ref": "#/components/schemas/SpringKafkaDefaultHeaders-Message"
},
"payload": {
"schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0",
"schema": {
"$ref": "#/components/schemas/io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message"
}
},
"name": "io.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto.Message",
"title": "Message",
"bindings": {
"kafka": {
"bindingVersion": "0.5.0"
}
}
},
"io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto": {
"headers": {
"$ref": "#/com
Loading