Validierung erfolgt über spring-boot-starter-validation
authorKai Moritz <kai@juplo.de>
Sat, 9 Apr 2022 07:52:59 +0000 (09:52 +0200)
committerKai Moritz <kai@juplo.de>
Sat, 9 Apr 2022 07:52:59 +0000 (09:52 +0200)
pom.xml
src/main/java/de/juplo/kafka/Application.java
src/main/java/de/juplo/kafka/ApplicationProperties.java

diff --git a/pom.xml b/pom.xml
index b7b0b8d..d9b70f9 100644 (file)
--- a/pom.xml
+++ b/pom.xml
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.springframework.boot</groupId>
+      <artifactId>spring-boot-starter-validation</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
index dd4b20a..de4b66d 100644 (file)
@@ -5,7 +5,6 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
-import org.springframework.util.Assert;
 
 import java.util.concurrent.Executors;
 
@@ -21,11 +20,6 @@ public class Application
   @Bean
   public EndlessConsumer consumer()
   {
-    Assert.hasText(properties.getBootstrapServer(), "consumer.bootstrap-server must be set");
-    Assert.hasText(properties.getGroupId(), "consumer.group-id must be set");
-    Assert.hasText(properties.getClientId(), "consumer.client-id must be set");
-    Assert.hasText(properties.getTopic(), "consumer.topic must be set");
-
     EndlessConsumer consumer =
         new EndlessConsumer(
             Executors.newFixedThreadPool(1),
index dab3380..fa731c5 100644 (file)
@@ -3,16 +3,31 @@ package de.juplo.kafka;
 import lombok.Getter;
 import lombok.Setter;
 import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.validation.annotation.Validated;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 
 
 @ConfigurationProperties(prefix = "consumer")
+@Validated
 @Getter
 @Setter
 public class ApplicationProperties
 {
+  @NotNull
+  @NotEmpty
   private String bootstrapServer;
+  @NotNull
+  @NotEmpty
   private String groupId;
+  @NotNull
+  @NotEmpty
   private String clientId;
+  @NotNull
+  @NotEmpty
   private String topic;
+  @NotNull
+  @NotEmpty
   private String autoOffsetReset;
 }