From 31515b8a3511c60ea0f07f43d9ed46333f04cce7 Mon Sep 17 00:00:00 2001 From: Tom Hombergs Date: Sun, 14 Oct 2018 15:07:06 +0200 Subject: [PATCH] added missing classes --- .../ValidateParametersController.java | 39 +++++++++++++++++++ .../ValidateRequestBodyController.java | 19 +++++++++ 2 files changed, 58 insertions(+) create mode 100644 spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java create mode 100644 spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java new file mode 100644 index 0000000..0fad8af --- /dev/null +++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/parameters/ValidateParametersController.java @@ -0,0 +1,39 @@ +package io.reflectoring.validation.controller.parameters; + +import javax.validation.ConstraintViolationException; +import javax.validation.constraints.Min; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Validated +class ValidateParametersController { + + @GetMapping("/validatePathVariable/{id}") + ResponseEntity validatePathVariable(@PathVariable("id") @Min(5) int id) { + return ResponseEntity.ok("valid"); + } + + @GetMapping("/validateRequestParameter") + ResponseEntity validateRequestParameter(@RequestParam("param") @Min(5) int param) { + return ResponseEntity.ok("valid"); + } + + @ExceptionHandler(ConstraintViolationException.class) + @ResponseStatus(HttpStatus.BAD_REQUEST) + @ResponseBody + String handleConstraintViolationException(ConstraintViolationException e) { + return "not valid due to validation error: " + e.getMessage(); + } + + +} diff --git a/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java new file mode 100644 index 0000000..78fc604 --- /dev/null +++ b/spring-boot/validation/src/main/java/io/reflectoring/validation/controller/requestbody/ValidateRequestBodyController.java @@ -0,0 +1,19 @@ +package io.reflectoring.validation.controller.requestbody; + +import javax.validation.Valid; + +import io.reflectoring.validation.Input; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +class ValidateRequestBodyController { + + @PostMapping("/validateBody") + ResponseEntity validateBody(@Valid @RequestBody Input input) { + return ResponseEntity.ok("valid"); + } + +}