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
- db
- 김영한
- kotlin
- Spring Boot
- 스프링
- QueryDSL
- Greedy
- springdatajpa
- Android
- jpa
- 스프링 핵심 기능
- Servlet
- Thymeleaf
- transaction
- Proxy
- http
- spring
- 알고리즘
- 백준
- java
- 스프링 핵심 원리
- JDBC
- Exception
- 그리디
- 자바
- 인프런
- AOP
- SpringBoot
- pointcut
- JPQL
Archives
- Today
- Total
개발자되기 프로젝트
오류 코드와 메시지 처리3 본문
???오류 코드를 얼마나 자세히 만들어야 할까
- 오류 코드를 만들 때 다음과 같이 자세히 만들 수도 있고,
- required.item.itemName : 상품 이름은 필수 입니다.
- range.item.price : 상품의 가격 범위 오류 입니다.
- 또는 다음과 같이 단순하게 만들 수도 있다.
- required : 필수 값 입니다.
- range : 범위 오류 입니다.
- 단순하게 만들면 범용성이 좋아서 여러곳에서 사용할 수 있지만,
- 메시지를 세밀하게 작성하기 어렵다.
- 반대로 너무 자세하게 만들면 범용성이 떨어진다.
- 가장 좋은 방법은 범용성으로 사용하다가,
- 세밀하게 작성해야 하는 경우에는 세밀한 내용이 적용되도록 메시지에 단계를 두는 방법이 좋음.
- 예를 들어서 required 라고 오류 코드를 사용한다고 가정해보자.
- 다음과 같이 required 라는 메시지만 있으면 이 메시지를 선택해서 사용하는 것이다.
-
required: 필수 값 입니다.
- 그런데 오류 메시지에 required.item.itemName 와 같이
- 객체명과 필드명을 조합한 세밀한 메시지 코드가 있으면 이 메시지를 높은 우선순위로 사용하는 것이다
-
#Level1 required.item.itemName: 상품 이름은 필수 입니다. #Level2 required: 필수 값 입니다.
- 즉 code="required"라고 지정해두었을 때, 세밀한 message code가 우선순위가 높다.
- 물론 이렇게 객체명과 필드명을 조합한 메시지가 있는지 우선 확인하고,
- 없으면 좀 더 범용적인 메시지를 선택하도록 추가 개발을 해야겠지만,
- 범용성 있게 잘 개발해두면, 메시지의 추가 만으로 매우 편리하게 오류 메시지를 관리할 수 있음.
- 스프링은 MessageCodesResolver 라는 것으로 이러한 기능을 지원한다.
'인프런 > [인프런] 스프링 MVC 2' 카테고리의 다른 글
오류 코드와 메시지 처리 5 (0) | 2021.09.24 |
---|---|
오류코드와 메시지 처리4, MessageCodesResolver (0) | 2021.09.24 |
오류 코드와 메시지 처리 2 (0) | 2021.09.24 |
오류 코드와 메시지 처리1 (0) | 2021.09.24 |
FieldError, ObjectError (0) | 2021.09.24 |
Comments