강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

오류 코드와 메시지 처리6

오류 코드 필드명이 id로 정해짐에 따른 메세지 처리 문제

해결된 질문

작성

·

186

0

필드 오류 코드는 

range.price = 값의 범위는 {0}~{1} 

이렇게 써주고

DTO가 달라져도 필드명만 같다면 동일한 오류 메세지를 내보낼 수 있도록 만들어진 것 같습니다. 

range.A.price = A값의 범위는 {0}~{1} 

range.B.price = B값의 범위는 {0}~{1} 

이렇게 설정해놓지 않더라도 range.price 이 코드만 가지고도 A와 B 필드 모두 적용할 수 있도록 말입니다. 

그런데 프론트쪽에서 받은 input 테그의 id에 따라서 관례적으로 DTO의 field 명을 맞춰주고 사용한다는 것을 들었습니다. 타임리프도 그렇게 만들어져있으니까 프로그래머분들이 그렇게 하는구나 하고 넘어가긴 했습니다. 그런데 이걸 오류코드를 공부하다보니까 또 알 수 없는 부분이 생겼습니다.

input 테그의 id는 프론트엔드 분들이 어플리케이션 전역적으로 유일한 이름을 설정해놓았을 텐데요.

그렇다면 

range.A.Aprice = A값의 범위는 {0}~{1} 

range.B.Bprice = B값의 범위는 {0}~{1}

이런 상황이 벌어질듯 합니다. 필드명만으로 고유한 값이 되어버려서 오류코드에 사용되어지는 객체명이 무의미해지는게 아닐까 싶어서요. 더불어서

range.price = 값의 범위는 {0}~{1} 

이 코드를 공통적으로 적용하고 싶어도 못하게 됩니다. 왜냐하면 범용적인 의미의 price라는 필드명을 사용하지 못하니까요. 

그런데 오류 코드를 보면 객체명을 달리해도 필드명은 중복해서 사용하는 듯 보이는데 제가 이 부분을 어떻게 이해하면 될까요?

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 컴퓨터공부하자님

웹 퍼블리셔 분이 이렇게 백엔드에 전달을 해주어도 백엔드에서 다시 일부를 수정해서 사용하게 됩니다.

그래서 이런 부분은 크게 걱정하지 않으셔도 됩니다.

감사합니다.

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

질문하기