Springwolf

Springwolf example project - Kafka

 

Servers

kafka-server
kafka
Host kafka:29092

Channels

another-topic

Channel Binding
AnotherPayloadDto
kafka receive
Channelanother-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload
example*  
foo   string

Foo field

Example:   bar <= 100 length

avro-topic

Channel Binding
AnotherPayloadAvroDto
kafka receive
Channelavro-topic
Operation description

Requires a running kafka-schema-registry. See docker-compose.yml to start it

Content-Typeapplication/json
Operation Binding
Message Binding
none
Payload
examplePayloadAvroDto  
someEnum   string

example-topic

Channel Binding
ExamplePayloadDto
kafka receive
Channelexample-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
kafka_offset   integer Example:   0
kafka_receivedMessageKey   string Example:   "string"
kafka_recordMetadata   object Example:  
Payload
someEnum*   string

Some enum field

Example:  
someLong   integer (int64)

Some long field

Example:   5 >= 0 value range
someString*   string

Some string field with Markdown

  • bold
  • cursive
  • images: Springwolf
  • and code blocks (json, http, java)
Example:   some string value

integer-topic

Channel Binding
integer
kafka receive
Channelinteger-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload

multi-payload-topic

Channel Binding
AnotherPayloadDto
kafka receive
Channelmulti-payload-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload
example*  
foo   string

Foo field

Example:   bar <= 100 length

ExamplePayloadDto
kafka receive
Channelmulti-payload-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
kafka_offset   integer Example:   0
kafka_receivedMessageKey   string Example:   "string"
kafka_recordMetadata   object Example:  
Payload
someEnum*   string

Some enum field

Example:  
someLong   integer (int64)

Some long field

Example:   5 >= 0 value range
someString*   string

Some string field with Markdown

  • bold
  • cursive
  • images: Springwolf
  • and code blocks (json, http, java)
Example:   some string value

MonetaryAmount
kafka receive
Channelmulti-payload-topic
Content-Typeapplication/json
Operation Binding
Message Binding
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload
amount   number Example:   99.99 >= 0.01 value range
currency   string Example:   USD

MonetaryAmount
kafka receive
Channelmulti-payload-topic
Operation description

Override description in the AsyncListener annotation with servers at kafka:29092

Content-Typeapplication/json
Operation Binding
Message Binding
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload
amount   number Example:   99.99 >= 0.01 value range
currency   string Example:   USD

no-payload-used-topic

Channel Binding
PayloadNotUsed
kafka receive
Channelno-payload-used-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  

protobuf-topic

Channel Binding
Message
kafka receive
Channelprotobuf-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload
someEnum   string
someLong   integer (int64)
someString   string

string-topic

Channel Binding
string
kafka receive
Channelstring-topic
Operation description

Final classes (like String) can be documented using an envelope class and the @AsyncApiPayload annotation.

Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload

StringEnvelope
kafka receive
Channelstring-topic
Operation description

Final classes (like String) can be documented using an envelope class and the @AsyncApiPayload annotation.

Content-Typeapplication/json
Operation Binding
Message Binding
none
Payload
string

Payload description using @Schema annotation and @AsyncApiPayload within envelope class

Example:   "string" <= 100 length

topic-defined-via-asyncPublisher-annotation

Channel Binding
NestedPayloadDto
kafka send
Channeltopic-defined-via-asyncPublisher-annotation
Operation description

Custom, optional description defined in the AsyncPublisher annotation

Content-Typeapplication/json
Operation Binding
Message Binding
Headers
__TypeId__   string

Spring Type Id Header

Example:  
ce_id   string

CloudEvent Id Header

Example:  
ce_source   string

CloudEvent Source Header

Example:  
ce_specversion   string

CloudEvent Spec Version Header

Example:  
ce_subject   string

CloudEvent Subject Header

Example:  
ce_time   string

CloudEvent Time Header

Example:  
ce_type   string

CloudEvent Payload Type Header

Example:  
content-type   string

CloudEvent Content-Type Header

Example:  
Payload
examplePayloads   []
someStrings   string[] Unique items: yes

vehicle-topic

Channel Binding
VehicleBase
kafka receive
Channelvehicle-topic
Content-Typeapplication/json
Operation Binding
Message Binding
none
Headers
__TypeId__   string

Spring Type Id Header

Example:  
Payload
enginePower  
powerSource   string
topSpeed   integer (int32)
vehicleType   string

xml-topic

Channel Binding
XmlPayloadDto
kafka receive
Channelxml-topic
Operation description

Auto-generated description

Message description

Showcases a xml based message

Content-Typetext/xml
Operation Binding
Message Binding
none
Payload
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> someAttribute   string
someEnum   string
someLong   integer (int64)
someString   string

yaml-topic

Channel Binding
YamlPayloadDto
kafka receive
Channelyaml-topic
Operation description

Auto-generated description

Message description

Showcases a yaml based message

Content-Typeapplication/yaml
Operation Binding
Message Binding
none
Payload
string Example:   someEnum: FOO1 someLong: 0 someString: string someEnum   string
someLong   integer (int64)
someString   string

Schemas

AnotherPayloadAvroDto
Nameio.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto
Type
object
Example
Properties
examplePayloadAvroDto  
someEnum   string

AnotherPayloadDto
Nameio.github.springwolf.examples.kafka.dtos.AnotherPayloadDto
Type
object
Description

Another payload model

Example
Properties
example*  
foo   string

Foo field

Example:   bar <= 100 length

EnginePower
Nameio.github.springwolf.examples.kafka.dtos.discriminator.EnginePower
Type
object
Example
Properties
hp   integer (int32)
torque   integer (int32)

ExamplePayloadAvroDto
Nameio.github.springwolf.examples.kafka.dto.avro.ExamplePayloadAvroDto
Type
object
Example
Properties
someLong   integer (int64)
someString   string

ExamplePayloadDto
Nameio.github.springwolf.examples.kafka.dtos.ExamplePayloadDto
Type
object
Description

Example payload model demonstrating markdown text styling: bold, cursive and underlined

Example
Properties
someEnum*   string

Some enum field

Example:  
someLong   integer (int64)

Some long field

Example:   5 >= 0 value range
someString*   string

Some string field with Markdown

  • bold
  • cursive
  • images: Springwolf
  • and code blocks (json, http, java)
Example:   some string value

ExamplePayloadProtobufDto$Message
Nameio.github.springwolf.examples.kafka.dto.proto.ExamplePayloadProtobufDto$Message
Type
object
Example
Properties
someEnum   string
someLong   integer (int64)
someString   string

HeadersNotUsed
NameHeadersNotUsed
Type
object
Description

No headers are present.

Example
Properties

Integer
Namejava.lang.Integer
Type
integer
Example
Properties
integer (int32)Example:   0

NestedPayloadDto
Nameio.github.springwolf.examples.kafka.dtos.NestedPayloadDto
Type
object
Description

Payload model with nested complex types

Example
Properties
examplePayloads   []
someStrings   string[] Unique items: yes

SpringDefaultHeaderAndCloudEvent
NameSpringDefaultHeaderAndCloudEvent
Type
object
Description

Spring TypeId and CloudEvent Headers

Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  
ce_id   string

CloudEvent Id Header

Example:  
ce_source   string

CloudEvent Source Header

Example:  
ce_specversion   string

CloudEvent Spec Version Header

Example:  
ce_subject   string

CloudEvent Subject Header

Example:  
ce_time   string

CloudEvent Time Header

Example:  
ce_type   string

CloudEvent Payload Type Header

Example:  
content-type   string

CloudEvent Content-Type Header

Example:  

SpringKafkaDefaultHeaders-AnotherPayloadAvroDto
NameSpringKafkaDefaultHeaders-AnotherPayloadAvroDto
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-AnotherPayloadDto
NameSpringKafkaDefaultHeaders-AnotherPayloadDto
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-ExamplePayloadDto-1119017590
NameSpringKafkaDefaultHeaders-ExamplePayloadDto-1119017590
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  
kafka_offset   integer Example:   0
kafka_receivedMessageKey   string Example:   "string"
kafka_recordMetadata   object Example:  

SpringKafkaDefaultHeaders-integer
NameSpringKafkaDefaultHeaders-integer
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-Message
NameSpringKafkaDefaultHeaders-Message
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-PayloadNotUsed
NameSpringKafkaDefaultHeaders-PayloadNotUsed
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-string
NameSpringKafkaDefaultHeaders-string
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-VehicleBase
NameSpringKafkaDefaultHeaders-VehicleBase
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-XmlPayloadDto
NameSpringKafkaDefaultHeaders-XmlPayloadDto
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

SpringKafkaDefaultHeaders-YamlPayloadDto
NameSpringKafkaDefaultHeaders-YamlPayloadDto
Type
object
Example
Properties
__TypeId__   string

Spring Type Id Header

Example:  

String
Namejava.lang.String
Type
string
Example
Properties
string Example:   "string"

StringConsumer$StringEnvelope
Nameio.github.springwolf.examples.kafka.consumers.StringConsumer$StringEnvelope
Type
string
Description

Payload description using @Schema annotation and @AsyncApiPayload within envelope class

Example
Properties
string

Payload description using @Schema annotation and @AsyncApiPayload within envelope class

Example:   "string" <= 100 length

VehicleBase
Nameio.github.springwolf.examples.kafka.dtos.discriminator.VehicleBase
Type
object
Description

Demonstrates the use of discriminator for polymorphic deserialization (not publishable)

Example
Properties
enginePower  
powerSource   string
topSpeed   integer (int32)
vehicleType   string

VehicleElectricPayloadDto
Nameio.github.springwolf.examples.kafka.dtos.discriminator.VehicleElectricPayloadDto
Type
object
Description

Electric vehicle implementation of VehicleBase

Example
Properties
batteryCapacity   integer (int32)
chargeTime   integer (int32)

VehicleGasolinePayloadDto
Nameio.github.springwolf.examples.kafka.dtos.discriminator.VehicleGasolinePayloadDto
Type
object
Description

Gasoline vehicle implementation of VehicleBase

Example
Properties
fuelCapacity   integer (int32)

XmlPayloadDto
Nameio.github.springwolf.examples.kafka.dtos.XmlPayloadDto
Type
string
Example
Properties
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> someAttribute   string
someEnum   string
someLong   integer (int64)
someString   string

YamlPayloadDto
Nameio.github.springwolf.examples.kafka.dtos.YamlPayloadDto
Type
string
Example
Properties
string Example:   someEnum: FOO1 someLong: 0 someString: string someEnum   string
someLong   integer (int64)
someString   string