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
관리 메뉴

개발자되기 프로젝트

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

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

오류 코드와 메시지 처리3

Seung__ 2021. 9. 24. 21:53

???오류 코드를 얼마나 자세히 만들어야 할까

  • 오류 코드를 만들 때 다음과 같이 자세히 만들 수도 있고,
    • 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 라는 것으로 이러한 기능을 지원한다.
Comments