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 <artursouza.ms@outlook.com>
This commit is contained in:
Maarten Mulders 2021-08-21 04:37:18 +02:00 committed by GitHub
parent ac93218c5a
commit 3c3a5277d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 9 deletions

View File

@ -55,11 +55,6 @@
<artifactId>dapr-sdk-actors</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
@ -74,13 +69,11 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.5.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.10.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@ -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());

View File

@ -35,7 +35,7 @@ public class SubscriberController {
}
@Topic(name = "testingtopic", pubsubName = "messagebus")
@PostMapping(path = "/route1")
@PostMapping("/route1")
public Mono<Void> handleMessage(@RequestBody(required = false) CloudEvent envelope) {
return Mono.fromRunnable(() -> {
try {