Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- kotlin
- pointcut
- 스프링 핵심 기능
- JPQL
- 인프런
- SpringBoot
- 자바
- 알고리즘
- 백준
- Android
- jpa
- Servlet
- springdatajpa
- Spring Boot
- 김영한
- AOP
- spring
- Greedy
- Exception
- java
- Proxy
- 스프링 핵심 원리
- QueryDSL
- JDBC
- 스프링
- 그리디
- Thymeleaf
- http
- transaction
- db
Archives
- Today
- Total
개발자되기 프로젝트
오류코드와 메시지 처리6 본문
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개가 나올 것임 ㅋㅋ
- codes[typeMismatch.item.price,typeMismatch.price,typeMismatch.java.lang.Integer,typ
- 이처럼 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
'인프런 > [인프런] 스프링 MVC 2' 카테고리의 다른 글
Validator 분리 2 (0) | 2021.09.24 |
---|---|
Validator 분리 1 (0) | 2021.09.24 |
오류 코드와 메시지 처리 5 (0) | 2021.09.24 |
오류코드와 메시지 처리4, MessageCodesResolver (0) | 2021.09.24 |
오류 코드와 메시지 처리3 (0) | 2021.09.24 |
Comments