From bfc4538fecfd736016ceaeac24d4290d0b271a5b Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Sun, 2 Nov 2025 11:47:35 -0300 Subject: [PATCH] Add documentation about rawMessage for Java Signed-off-by: Matheus Cruz --- .../building-blocks/pubsub/pubsub-raw.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-raw.md b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-raw.md index 1ac75613a6f..1cbfb72c259 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-raw.md +++ b/daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-raw.md @@ -101,6 +101,36 @@ $app->run(function(\DI\FactoryInterface $factory) { {{% /tab %}} +{{% tab "Java" %}} + +```java +@RestController +@PathMapping("/publish") +public class PublishController { + + @Inject + DaprClient client; + + @PostMapping + public void sendRawMessage() { + + Map metadata = new HashMap<>(); + metatada.put("content-type", "application/json"); + metadata.put("rawPayload", "true"); + + Message message = new Message(UUID.random().toString(), "Hello from Dapr"); + + client.publishEvent( + "pubsub", // pubsub name + "messages", // topic name + message, // message data + metadata) // metadata + .block(); // wait for completion + } +} +``` +{{% /tab %}} + {{< /tabpane >}} ## Subscribing to raw messages @@ -216,6 +246,32 @@ $app->start(); ``` {{% /tab %}} +{{% tab "Java" %}} +```java +@RequestMapping("/consumer") +@RestController +public class MessageConsumerController { + + @PostMapping + @ResponseStatus(HttpStatus.OK) + @Topic(pubsubName = "pubsub", name = "messages", metadata = "{\"rawPayload\":\"true\", \"content-type\": \"application/json\"}") + public void consume(@RequestBody Message message) { + System.out.println("Message received: " + message); + } + + @PostMapping + @ResponseStatus(HttpStatus.OK) + @Topic(pubsubName = "pubsub", name = "another-topic", metadata = """ + {"rawPayload": "true", "content-type": "application/json"} + """) // Using Java 15 text block + public void consumeAnother(@RequestBody Message message) { + System.out.println("Message received: " + message); + } +} + +``` +{{% /tab %}} + {{< /tabpane >}} ## Declaratively subscribe to raw events