java / beginner
Snippet
Validieren von REST-Anfrage-Payloads mit Jakarta-Annotationen
Spring Boot lässt sich nahtlos in die Jakarta Bean Validation integrieren, um eingehende HTTP-Anfragedaten vor der Ausführung der Controller-Logik zu prüfen. Annotationen wie @NotBlank und @Min an DTO-Feldern erzwingen Pflichtfelder und Wertegrenzen. Das Voranstellen von @Valid vor @RequestBody startet die Validierung automatisch und lehnt fehlerhafte Daten mit HTTP 400 Bad Request ab.
snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class UserRegistrationDto {@NotBlank(message = "Username cannot be blank")private String username;@Min(value = 18, message = "Age must be at least 18")private int age;public String getUsername() { return username; }public void setUsername(String username) { this.username = username; }public int getAge() { return age; }public void setAge(int age) { this.age = age; }}@RestController@RequestMapping("/api/users")public class UserController {@PostMappingpublic ResponseEntity<String> registerUser(@Valid @RequestBody UserRegistrationDto dto) {return ResponseEntity.ok("Registration valid for: " + dto.getUsername());}}
spring
Erklärung
1
@NotBlank(message = "Username cannot be blank")
Stellt sicher, dass das Textfeld nicht null ist und mindestens ein Zeichen enthält, das kein Leerzeichen ist.
2
@Min(value = 18, message = "Age must be at least 18")
Beschränkt den ganzzahligen Wert darauf, dass Werte unter 18 einen Validierungsfehler auslösen.
3
public ResponseEntity<String> registerUser(@Valid @RequestBody UserRegistrationDto dto)
Die @Valid-Annotation weist Spring an, den eingehenden JSON-Körper anhand des DTOs vor dem Methodenaufruf zu prüfen.