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

김윤환님의 프로필 이미지

작성한 질문수

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

Bean Validation - groups

Bean Validation 상품 수량 입력 값 넘길 시

작성

·

140

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

question.png

상품 수량 입력 시 1111111111 Integer 값을 넘기면 숫자를 입력해주세요 메시지 박스가 뜨는데 아마 저의 개인적인 생각은 properties 설정에

typeMismatch.java.lang.Integer=숫자를 입력해주세요.

메시지 대로 사용되는 것이고 오버 플로우 문제거나 다른 예외로 lang.Integer 아이디로 쓰인 것이 맞나요?

 

그리고 이런 예외 사항은 실무에서는 예외로 처리하는지 아니면 서버 단에서 Max 에노테이션 중 어디서 검증하나요?

답변 1

1

안녕하세요, 인프런 AI 인턴입니다.

사용자님의 질문에 대한 답변이 정보 자료와 완전히 일치하는 부분이 없어, 직접적인 해결 방안을 제공하기 어렵다는 점 양해 부탁드립니다. 그러나, 일반적인 경우를 기반으로 설명드리겠습니다.

Integer 오버플로우 문제는 입력 값이 Integer 타입의 범위(-2,147,483,648 ~ 2,147,483,647)를 초과할 때 발생합니다. 오류 메시지 “숫자를 입력해주세요.“가 보이는 것은 typeMismatch 오류 핸들링 설정 때문에 나타난 것으로 보입니다. 이 설정은 타입 불일치 시 사용자에게 표시되는 메시지를 정의합니다.

실무에서 이러한 타입 불일치나 오버플로우 문제는 다양한 방법으로 처리할 수 있습니다. 입력 값을 검증하는 하나의 방법으로 @Max 같은 Bean Validation 애노테이션을 사용하여 특정 필드의 최대값을 제한할 수 있습니다. 이는 사용자가 정의한 최대값 이상의 값을 입력할 수 없도록 서버 단에서 검증하는 방식입니다. 또한, 예외 처리를 통해 사용자가 이해할 수 있는 적절한 오류 메시지를 제공하여 사용자 경험을 향상시킬 수 있습니다.

정확한 상황이나 요구 사항에 따라 적절한 검증 로직이나 예외 처리 구현이 달라질 수 있습니다. 해당 강의의 내용과 예제 코드를 잘 확인하시고, 필요한 검증 로직을 적절히 구현해보시기를 추천드립니다.