<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
groovy
implementation 'org.springframework.boot:spring-boot-starter-validation'
public class User {
@NotNull
private String name;
@NotEmpty
@Email
private String email;
}
@RestController
public class UserController {
@PostMapping("/users")
public ResponseEntity<String> createUser(@Valid @RequestBody User user, BindingResult result) {
if (result.hasErrors()) {
return ResponseEntity.badRequest().body("Validation Error");
}
return ResponseEntity.ok("User created");
}
}
@ControllerAdvice
public class GlobalErrorHandler implements ErrorController {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<String> handleValidationError(MethodArgumentNotValidException ex) {
return ResponseEntity.badRequest().body("Validation Error");
}
@Override
public String getErrorPath() {
return "/error";
}
}
properties
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false