Projekt: Daten validieren
Hibernate Validator ist eine Implementierung von Bean Validation und kann für die Validierung von Daten in Spring Boot Projekten verwendet werden. Hier sind die wichtigsten Punkte, die du wissen musst:
Abhängigkeit hinzufügen
Abschnitt betitelt „Abhängigkeit hinzufügen“Füge die folgende Abhängigkeit in deine pom.xml (Maven) oder build.gradle (Gradle) ein, um den Hibernate Validator in deinem Spring Boot Projekt zu verwenden.
Maven:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency>Gradle:
implementation 'org.springframework.boot:spring-boot-starter-validation'Wichtige Annotationen
Abschnitt betitelt „Wichtige Annotationen“Einige der wichtigsten Annotationen für die Validierung sind:
@NotNull: Stellt sicher, dass das Element nicht null ist.@NotBlank: Stellt sicher, dass das Element nicht null und nicht leer ist (für Strings).@NotEmpty: Stellt sicher, dass das Element nicht null und nicht leer ist (für Collections).@Size: Stellt sicher, dass das Element innerhalb der angegebenen Grössenbeschränkungen liegt (min und max).@Min: Stellt sicher, dass der numerische Wert grösser oder gleich dem angegebenen Mindestwert ist.@Max: Stellt sicher, dass der numerische Wert kleiner oder gleich dem angegebenen Höchstwert ist.@Email: Stellt sicher, dass das Element eine gültige E-Mail-Adresse ist.
Codebeispiel
Abschnitt betitelt „Codebeispiel“Ein Beispiel für eine Entity-Klasse, die den Hibernate Validator verwendet, könnte folgendermassen aussehen:
import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence.Id;import jakarta.validation.constraints.Email;import jakarta.validation.constraints.NotBlank;import jakarta.validation.constraints.Size;
@Entitypublic class User {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;
@NotBlank @Size(min = 3, max = 50) private String firstName;
@NotBlank @Size(min = 3, max = 50) private String lastName;
@Email @NotBlank private String email;
// Getter und Setter}In diesem Beispiel wird die User-Klasse mit verschiedenen Validierungsannotationen versehen, um sicherzustellen, dass die Daten korrekt sind.