Spring

[스프링] 검증 : bindingResult

웨일파도 2023. 7. 5. 12:08
반응형

1. 코드 작성

@PostMapping("/user")
    public ResponseEntity user(@Valid @RequestBody User user, BindingResult bindingResult) {
        System.out.println(user);

        if(bindingResult.hasErrors()) {
            System.out.println("에러 발생");

            List<ObjectError> listObjectError = bindingResult.getAllErrors();
            for (ObjectError objectError : listObjectError) {
                FieldError fieldError = (FieldError) objectError;
                System.out.println("field : " + fieldError.getField());
                System.out.println("message : " + fieldError.getDefaultMessage());

                if (fieldError.getField().equals("name")) {
                    // 이름이 긴 경우 뒤에 텍스트를 cut 해서 줄임...
                }
            }
        }

        return ResponseEntity.ok(user);
    }

2. postman 에서 에러나는 상황 2개를 'send '함

  (1) age 를 -3 으로   (1~200 사이로 보내야함)

  (2) email 을 .org 로 보냄 (.com 으로 보내야함)

3. [F9] 누르고 (디버그 에러 무시)

4. console 확인하면 에러 두 개 확인가능

 

반응형