From 2774ce079304a3db4778674c9b1d12e0a9522525 Mon Sep 17 00:00:00 2001 From: waldemar lammert Date: Thu, 29 Jan 2026 14:41:11 +0100 Subject: [PATCH] cleaning up and proper naming --- ...oducer.java => HealthRequestProducer.java} | 4 +- .../eventproducer/web/EventController.java | 52 ------------------- .../web/RequestProducerController.java | 36 +++++++++++++ .../eventproducer/web/dto/EventRequest.java | 11 ---- 4 files changed, 38 insertions(+), 65 deletions(-) rename src/main/java/de/dev089/eventproducer/producer/{TopicEventProducer.java => HealthRequestProducer.java} (91%) delete mode 100644 src/main/java/de/dev089/eventproducer/web/EventController.java create mode 100644 src/main/java/de/dev089/eventproducer/web/RequestProducerController.java delete mode 100644 src/main/java/de/dev089/eventproducer/web/dto/EventRequest.java diff --git a/src/main/java/de/dev089/eventproducer/producer/TopicEventProducer.java b/src/main/java/de/dev089/eventproducer/producer/HealthRequestProducer.java similarity index 91% rename from src/main/java/de/dev089/eventproducer/producer/TopicEventProducer.java rename to src/main/java/de/dev089/eventproducer/producer/HealthRequestProducer.java index 81b73bd..63031f0 100644 --- a/src/main/java/de/dev089/eventproducer/producer/TopicEventProducer.java +++ b/src/main/java/de/dev089/eventproducer/producer/HealthRequestProducer.java @@ -5,12 +5,12 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component -public class TopicEventProducer { +public class HealthRequestProducer { private final RabbitTemplate rabbitTemplate; private final String defaultRoutingKey; - public TopicEventProducer( + public HealthRequestProducer( RabbitTemplate rabbitTemplate, @Value("${rabbit.producer.routing-key}") String defaultRoutingKey ) { diff --git a/src/main/java/de/dev089/eventproducer/web/EventController.java b/src/main/java/de/dev089/eventproducer/web/EventController.java deleted file mode 100644 index ff500f8..0000000 --- a/src/main/java/de/dev089/eventproducer/web/EventController.java +++ /dev/null @@ -1,52 +0,0 @@ -package de.dev089.eventproducer.web; - -import de.dev089.eventproducer.producer.TopicEventProducer; -import de.dev089.eventproducer.web.dto.EventRequest; -import de.dev089.eventproducer.web.dto.MessageRequest; -import org.springframework.http.HttpStatus; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.bind.annotation.RestController; - -import java.time.Instant; -import java.util.HashMap; -import java.util.Map; - -@RestController -@RequestMapping("/api/events") -public class EventController { - - private final TopicEventProducer topicEventProducer; - - public EventController(TopicEventProducer topicEventProducer) { - this.topicEventProducer = topicEventProducer; - } - - @PostMapping("/messages") - @ResponseStatus(HttpStatus.ACCEPTED) - public void publishMessage(@Validated @RequestBody MessageRequest request) { - Map envelope = new HashMap<>(); - envelope.put("message", request.message()); - envelope.put("sentAt", Instant.now().toString()); - - topicEventProducer.publishToDefaultQueue(envelope); - } - - @PostMapping("/{routingKey}") - @ResponseStatus(HttpStatus.ACCEPTED) - public void publish( - @PathVariable String routingKey, - @Validated @RequestBody EventRequest request - ) { - Map envelope = new HashMap<>(); - envelope.put("eventType", request.eventType()); - envelope.put("payload", request.payload()); - envelope.put("sentAt", Instant.now().toString()); - - topicEventProducer.publish(routingKey, envelope); - } -} diff --git a/src/main/java/de/dev089/eventproducer/web/RequestProducerController.java b/src/main/java/de/dev089/eventproducer/web/RequestProducerController.java new file mode 100644 index 0000000..c17e349 --- /dev/null +++ b/src/main/java/de/dev089/eventproducer/web/RequestProducerController.java @@ -0,0 +1,36 @@ +package de.dev089.eventproducer.web; + +import de.dev089.eventproducer.producer.HealthRequestProducer; +import de.dev089.eventproducer.web.dto.MessageRequest; +import org.springframework.http.HttpStatus; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +import java.time.Instant; +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/api/events") +public class RequestProducerController { + + private final HealthRequestProducer healthRequestProducer; + + public RequestProducerController(HealthRequestProducer healthRequestProducer) { + this.healthRequestProducer = healthRequestProducer; + } + + @PostMapping("/populate") + @ResponseStatus(HttpStatus.ACCEPTED) + public void publishMessage(@Validated @RequestBody MessageRequest request) { + Map envelope = new HashMap<>(); + envelope.put("message", request.message()); + envelope.put("sentAt", Instant.now().toString()); + + healthRequestProducer.publishToDefaultQueue(envelope); + } +} diff --git a/src/main/java/de/dev089/eventproducer/web/dto/EventRequest.java b/src/main/java/de/dev089/eventproducer/web/dto/EventRequest.java deleted file mode 100644 index ab76e7d..0000000 --- a/src/main/java/de/dev089/eventproducer/web/dto/EventRequest.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.dev089.eventproducer.web.dto; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - -import java.util.Map; - -public record EventRequest( - @NotBlank String eventType, - @NotNull Map payload -) { }