Performance: Why input validation is critical
Input validation affects how quickly a server processes requests and prevents unnecessary load from invalid data.
Jump into concepts and practice - no test required
@PostMapping("/submit") public ResponseEntity<String> submitData(@Valid @RequestBody Data data, BindingResult result) { if (result.hasErrors()) { return ResponseEntity.badRequest().body("Invalid input"); } processData(data); return ResponseEntity.ok("Success"); }
public ResponseEntity<String> submitData(@RequestBody Data data) {
// No validation
processData(data);
return ResponseEntity.ok("Success");
}| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| No input validation | N/A (server-side) | N/A | N/A | [X] Bad |
| Early input validation with @Valid | N/A (server-side) | N/A | N/A | [OK] Good |
@PostMapping("/register")
public ResponseEntity<String> registerUser(@Valid @RequestBody User user) {
return ResponseEntity.ok("User registered");
}user object has an invalid email format and @Email is used on the email field?public class User {
@NotNull
private String name;
@Email
private String email;
// getters and setters
}