• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

true, false 질문

24.02.20 15:55 작성 조회수 100

0

단순 값에 의한 처리는 값이 일단 넘어오긴 하니까, bindingFailure 값을 false로 둔 것이고,

 

타입에 대한 처리는 내부에서 bindingFailure 값이 true로 전달된다고 이해하면 될까요? 이 타입에 대한 처리 코드는 따로 작성할 필요는 없는 건가요? (bindingFailure가 true인)

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.22

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

재영님, 질문 주셔서 감사합니다.

BindingFailure는 스프링 MVC에서 데이터 바인딩 과정에서 발생한 오류를 나타내는 플래그입니다. true로 설정되면 바인딩 과정에 문제가 있음을 의미하며, false인 경우 문제가 없음을 나타냅니다.

단순 값에 의한 바인딩 실패일 경우, 스프링이 내부적으로 BindingResult 혹은 Errors 객체에 문제를 담아서 처리하게 됩니다. 단순 값에 문제가 있다면 일반적으로 사용자의 입력 오류 등이 있을 수 있으니, 해당 값을 false로 설정하여 바인딩 실패가 아닌 것으로 처리할 수 있습니다.

반면, 타입에 문제가 있다면, 이는 개발자가 예상한 타입과 사용자가 입력한 값의 타입이 일치하지 않을 때 발생합니다. 예를 들어, 정수형을 기대하는 필드에 문자열이 들어온 경우가 이에 해당할 것입니다. 이런 경우에는 스프링이 내부적으로 바인딩 실패(true)로 처리를 하게 되며, 이를 개발자가 코드로 별도로 처리할 필요는 없습니다. 이미 스프링에서 바인딩 실패 시 알맞은 처리를 해주기 때문입니다.

만약 바인딩 실패를 더욱 세심하게 처리하고 싶다면, BindingResult 나 Errors 객체를 사용하여 사용자에게 더욱 명확한 에러 메시지를 제공하거나 다른 복구 로직을 구현할 수 있습니다.

추가로, 구체적인 강의 내용과 관련된 질문이나 더 상세한 설명이 필요하시면 강의 자료도 참고하시고, “자주하는 질문” 목록도 확인해 보시기 바랍니다.

질문에 충분한 답변이 되었길 바라며, 다른 궁금증이 있으시면 언제든지 질문 주세요.