Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

오류코드와 메시지 처리6 본문

인프런/[인프런] 스프링 MVC 2

오류코드와 메시지 처리6

Seung__ 2021. 9. 24. 22:54

1. Spring이 직접 만든 오류 메시지 처리


  • 검증 오류 코드는 크게 두 가지 
    • 개발자가 직접 설정한 오류 코드 -> rejectValue()를 직접 호출함
    • Spring이 직접 검증 오류에 추가한 경우 -> 바인딩 오류(주로 타입종류 맞지 않은 경우)

 

 

2. 동작 방식


  • price필드에 "A"를 입력하자.
  • log를 보면 BindingResult에서 FieldError를 확인할 수 있다.
    • Field error in object 'item' on field 'price': rejected value [qqq]; 
  • 또한 다음과 같이 Message Codes가 생성된다.
    • codes[typeMismatch.item.price,typeMismatch.price,typeMismatch.java.lang.Integer,typ
      eMismatch]
    • typeMismatch.item.price
    • typeMismatch.price
    • typeMismatch.java.lang.Integer
    • typeMismatch
    • rejectValue에 "typeMismatch"를 넣으면 위와같이 4개가 나올 것임 ㅋㅋ
  • 이처럼 Spring은 Type Error가 발생하면 typeMismatch라는 Code를 사용한다.
  • 이 Code가 MessageCodesResolver를 통해 위와같이 4가지 MessagecCodes가 생성된 것.
  • 하지만 errors.properties에는 해당 messageCode 가 없어서 기본 메시지 코드가 출력된다.

 

 

 

3. messagecode 추가


  • errors.properties에 메시지 추가
#추가
typeMismatch.java.lang.Integer=숫자를 입력해 주세요.
typeMismatch = 타입 오류입니당.

 

 

 

 

4. 정리


  • 소스코드를 건들지 않고 원하는 메시지를 단계적으로 설정했다 !!

 

5. GitHub : 210924 MessageCodes


 

GitHub - bsh6463/Validation-V1

Contribute to bsh6463/Validation-V1 development by creating an account on GitHub.

github.com

 

Comments