From 3c3a5277d6808724dd54051c165fc8bf32f336cf Mon Sep 17 00:00:00 2001 From: Maarten Mulders Date: Sat, 21 Aug 2021 04:37:18 +0200 Subject: [PATCH] Add support for @PostMapping("/path") to pub/sub topic subscriptions (#583) * Remove duplicate dependency * Transform into managed dependencies * Remove old JUnit version from dependencies * Add tests for DaprBeanPostProcessor * Also register PostMappings that use value * Modify existing pub/sub test to no use @PostMapping(path="...") * Remove added dependencies on AssertJ, Spring Test and Servlet API * Remove test in favour of the sdk-tests one Co-authored-by: Artur Souza --- sdk-springboot/pom.xml | 7 ------- .../java/io/dapr/springboot/DaprBeanPostProcessor.java | 4 +++- .../java/io/dapr/it/pubsub/http/SubscriberController.java | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/sdk-springboot/pom.xml b/sdk-springboot/pom.xml index 337d77cc2..2a26fe0b1 100644 --- a/sdk-springboot/pom.xml +++ b/sdk-springboot/pom.xml @@ -55,11 +55,6 @@ dapr-sdk-actors ${project.version} - - junit - junit - test - org.mockito mockito-core @@ -74,13 +69,11 @@ org.junit.jupiter junit-jupiter-api - 5.5.2 test org.springframework spring-beans - 5.2.10.RELEASE compile diff --git a/sdk-springboot/src/main/java/io/dapr/springboot/DaprBeanPostProcessor.java b/sdk-springboot/src/main/java/io/dapr/springboot/DaprBeanPostProcessor.java index 9cb0c56c0..53040b050 100644 --- a/sdk-springboot/src/main/java/io/dapr/springboot/DaprBeanPostProcessor.java +++ b/sdk-springboot/src/main/java/io/dapr/springboot/DaprBeanPostProcessor.java @@ -21,7 +21,7 @@ import java.util.HashMap; import java.util.Map; /** - * Handles Dapr annotations in Springboot Controllers. + * Handles Dapr annotations in Spring Controllers. */ @Component public class DaprBeanPostProcessor implements BeanPostProcessor { @@ -77,6 +77,8 @@ public class DaprBeanPostProcessor implements BeanPostProcessor { if (mapping != null && mapping.path() != null && mapping.path().length >= 1) { route = mapping.path()[0]; + } else if (mapping != null && mapping.value() != null && mapping.value().length >= 1) { + route = mapping.value()[0]; } String topicName = embeddedValueResolver.resolveStringValue(topic.name()); diff --git a/sdk-tests/src/test/java/io/dapr/it/pubsub/http/SubscriberController.java b/sdk-tests/src/test/java/io/dapr/it/pubsub/http/SubscriberController.java index 619eb0f41..cb9d3a2f9 100644 --- a/sdk-tests/src/test/java/io/dapr/it/pubsub/http/SubscriberController.java +++ b/sdk-tests/src/test/java/io/dapr/it/pubsub/http/SubscriberController.java @@ -35,7 +35,7 @@ public class SubscriberController { } @Topic(name = "testingtopic", pubsubName = "messagebus") - @PostMapping(path = "/route1") + @PostMapping("/route1") public Mono handleMessage(@RequestBody(required = false) CloudEvent envelope) { return Mono.fromRunnable(() -> { try {