diff --git a/spring-cloud/spring-cloud-dapr/dapr-config/basic-config.yaml b/spring-cloud/spring-cloud-dapr/dapr-config/basic-config.yaml
new file mode 100644
index 0000000000..d80655f0a2
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/dapr-config/basic-config.yaml
@@ -0,0 +1,5 @@
+apiVersion: dapr.io/v1alpha1
+kind: Configuration
+metadata:
+ name: daprConfig
+spec: {}
diff --git a/spring-cloud/spring-cloud-dapr/dapr-config/consul-config.yaml b/spring-cloud/spring-cloud-dapr/dapr-config/consul-config.yaml
new file mode 100644
index 0000000000..638af7cf0d
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/dapr-config/consul-config.yaml
@@ -0,0 +1,9 @@
+apiVersion: dapr.io/v1alpha1
+kind: Configuration
+metadata:
+ name: daprConfig
+spec:
+ nameResolution:
+ component: "consul"
+ configuration:
+ selfRegister: true
diff --git a/spring-cloud/spring-cloud-dapr/dapr-config/consul-zipkin-config.yaml b/spring-cloud/spring-cloud-dapr/dapr-config/consul-zipkin-config.yaml
new file mode 100644
index 0000000000..8e50decf03
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/dapr-config/consul-zipkin-config.yaml
@@ -0,0 +1,13 @@
+apiVersion: dapr.io/v1alpha1
+kind: Configuration
+metadata:
+ name: daprConfig
+spec:
+ nameResolution:
+ component: "consul"
+ configuration:
+ selfRegister: true
+ tracing:
+ samplingRate: "1"
+ zipkin:
+ endpointAddress: "http://localhost:9411/api/v2/spans"
diff --git a/spring-cloud/spring-cloud-dapr/gateway/pom.xml b/spring-cloud/spring-cloud-dapr/gateway/pom.xml
new file mode 100644
index 0000000000..13c1556cfe
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/gateway/pom.xml
@@ -0,0 +1,44 @@
+
+
+ 4.0.0
+ com.baeldung.spring.cloud.spring-cloud-dapr
+ gateway
+ 1.0-SNAPSHOT
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.5.2
+
+
+
+ 11
+ 11
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ 2020.0.3
+ pom
+ import
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-gateway
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/spring-cloud/spring-cloud-dapr/gateway/src/main/java/org/example/gateway/GatewayApp.java b/spring-cloud/spring-cloud-dapr/gateway/src/main/java/org/example/gateway/GatewayApp.java
new file mode 100644
index 0000000000..7166b5b31f
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/gateway/src/main/java/org/example/gateway/GatewayApp.java
@@ -0,0 +1,11 @@
+package org.example.gateway;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class GatewayApp {
+ public static void main(String[] args) {
+ SpringApplication.run(GatewayApp.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-no-dapr.yml b/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-no-dapr.yml
new file mode 100644
index 0000000000..f25d7f0128
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-no-dapr.yml
@@ -0,0 +1,14 @@
+server:
+ port: 3000
+
+spring:
+ cloud:
+ gateway:
+ routes:
+ - id: greeting-service
+ uri: http://localhost:3001/
+ predicates:
+ - Path=/**
+ filters:
+ - RewritePath=/?(?.*), /$\{segment}
+
diff --git a/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-with-dapr.yml b/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-with-dapr.yml
new file mode 100644
index 0000000000..ee67c76339
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/gateway/src/main/resources/application-with-dapr.yml
@@ -0,0 +1,13 @@
+server:
+ port: 3000
+
+spring:
+ cloud:
+ gateway:
+ routes:
+ - id: greeting-service
+ uri: http://localhost:4000/
+ predicates:
+ - Path=/**
+ filters:
+ - RewritePath=//?(?.*), /v1.0/invoke/greeting/method/$\{segment}
diff --git a/spring-cloud/spring-cloud-dapr/greeting/pom.xml b/spring-cloud/spring-cloud-dapr/greeting/pom.xml
new file mode 100644
index 0000000000..58de7240a2
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/greeting/pom.xml
@@ -0,0 +1,33 @@
+
+
+ 4.0.0
+ com.baeldung.spring.cloud.spring-cloud-dapr
+ greeting
+ 1.0-SNAPSHOT
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.5.2
+
+
+
+ 11
+ 11
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/spring-cloud/spring-cloud-dapr/greeting/src/main/java/org/example/hello/GreetingApp.java b/spring-cloud/spring-cloud-dapr/greeting/src/main/java/org/example/hello/GreetingApp.java
new file mode 100644
index 0000000000..2feca49daa
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/greeting/src/main/java/org/example/hello/GreetingApp.java
@@ -0,0 +1,11 @@
+package org.example.hello;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class GreetingApp {
+ public static void main(String[] args) {
+ SpringApplication.run(GreetingApp.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-dapr/greeting/src/main/java/org/example/hello/GreetingController.java b/spring-cloud/spring-cloud-dapr/greeting/src/main/java/org/example/hello/GreetingController.java
new file mode 100644
index 0000000000..5210add4e0
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/greeting/src/main/java/org/example/hello/GreetingController.java
@@ -0,0 +1,22 @@
+package org.example.hello;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class GreetingController {
+ @GetMapping(value = "/")
+ public String getGreeting() {
+ return "Welcome to the greeting service.";
+ }
+
+ @GetMapping(value = "/hello")
+ public String getHello() {
+ return "Hello world!";
+ }
+
+ @GetMapping(value = "/goodbye")
+ public String getGoodbye() {
+ return "Goodbye, cruel world!";
+ }
+}
diff --git a/spring-cloud/spring-cloud-dapr/greeting/src/main/resources/application.yml b/spring-cloud/spring-cloud-dapr/greeting/src/main/resources/application.yml
new file mode 100644
index 0000000000..7147f91d26
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/greeting/src/main/resources/application.yml
@@ -0,0 +1,2 @@
+server:
+ port: 3001
diff --git a/spring-cloud/spring-cloud-dapr/pom.xml b/spring-cloud/spring-cloud-dapr/pom.xml
new file mode 100644
index 0000000000..76d3cbdaf8
--- /dev/null
+++ b/spring-cloud/spring-cloud-dapr/pom.xml
@@ -0,0 +1,19 @@
+
+
+ 4.0.0
+ spring-cloud-dapr
+ pom
+
+
+ com.baeldung.spring.cloud
+ spring-cloud
+ 1.0.0-SNAPSHOT
+
+
+
+ gateway
+ greeting
+
+