diff --git a/springwolf-core/src/main/java/io/github/springwolf/core/asyncapi/scanners/common/AsyncAnnotationScanner.java b/springwolf-core/src/main/java/io/github/springwolf/core/asyncapi/scanners/common/AsyncAnnotationScanner.java index 3fcd9d622..26a3a1c16 100644 --- a/springwolf-core/src/main/java/io/github/springwolf/core/asyncapi/scanners/common/AsyncAnnotationScanner.java +++ b/springwolf-core/src/main/java/io/github/springwolf/core/asyncapi/scanners/common/AsyncAnnotationScanner.java @@ -102,13 +102,20 @@ protected MessageObject buildMessage(AsyncOperation operationData, Method method .schema(SchemaReference.fromSchema(payloadSchema.name())) .build()); + String description = operationData.message().description(); + if (!StringUtils.hasText(description)) { + description = payloadSchema.schema().getDescription(); + } + if (StringUtils.hasText(description)) { + description = this.resolver.resolveStringValue(description); + // TODO: description = TextUtils.do(description); + } + var builder = MessageObject.builder() .messageId(payloadSchema.name()) .name(payloadSchema.name()) .title(payloadSchema.schema().getTitle()) - .description(payloadSchema - .schema() - .getDescription()) // FIXME: Why do we set the payload description on the message? + .description(description) .payload(messagePayload) .headers(headers) .bindings(messageBinding); diff --git a/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/XmlConsumer.java b/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/XmlConsumer.java index b3a3d6ad2..ef091867c 100644 --- a/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/XmlConsumer.java +++ b/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/XmlConsumer.java @@ -20,8 +20,10 @@ public class XmlConsumer { operation = @AsyncOperation( channelName = "xml-topic", - description = "Showcases a xml based message", - message = @AsyncMessage(contentType = "text/xml"))) + message = + @AsyncMessage( + contentType = "text/xml", + description = "Showcases a xml based message"))) @KafkaAsyncOperationBinding @KafkaListener(topics = "xml-topic") public void receiveExamplePayload(XmlPayloadDto payload) { diff --git a/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/YamlConsumer.java b/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/YamlConsumer.java index dcfe24728..ea847da43 100644 --- a/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/YamlConsumer.java +++ b/springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/YamlConsumer.java @@ -20,8 +20,10 @@ public class YamlConsumer { operation = @AsyncOperation( channelName = "yaml-topic", - description = "Showcases a yaml based message", - message = @AsyncMessage(contentType = "application/yaml"))) + message = + @AsyncMessage( + contentType = "application/yaml", + description = "Showcases a yaml based message"))) @KafkaAsyncOperationBinding @KafkaListener(topics = "yaml-topic") public void receiveExamplePayload(YamlPayloadDto payload) { diff --git a/springwolf-examples/springwolf-kafka-example/src/test/resources/asyncapi.json b/springwolf-examples/springwolf-kafka-example/src/test/resources/asyncapi.json index d446747d2..6d87d8a15 100644 --- a/springwolf-examples/springwolf-kafka-example/src/test/resources/asyncapi.json +++ b/springwolf-examples/springwolf-kafka-example/src/test/resources/asyncapi.json @@ -1309,6 +1309,7 @@ "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" @@ -1328,6 +1329,7 @@ "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" @@ -1546,7 +1548,7 @@ "$ref": "#/channels/xml-topic" }, "title": "xml-topic_receive", - "description": "Showcases a xml based message", + "description": "Auto-generated description", "bindings": { "kafka": { "bindingVersion": "0.5.0" @@ -1564,7 +1566,7 @@ "$ref": "#/channels/yaml-topic" }, "title": "yaml-topic_receive", - "description": "Showcases a yaml based message", + "description": "Auto-generated description", "bindings": { "kafka": { "bindingVersion": "0.5.0"