작성
·
326
답변 2
0
안녕하세요. 수빈님
어떤 부분이 궁금하신지, 예제 코드를 만들어서 전달해주시겠어요?
예를 들어서 수빈님이 생각한 부분이 이렇게 작동해야 한다고 생각했는데, 예제 코드를 만들어서 돌려보니 생각과 다르게 작동한다면 그 부분들을 정리해서 남겨주시면 좋을 것 같아요.
실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 문제 영역을 실행할 수 있는 방법
2. 문제가 어떻게 나타나는지에 대한 상세한 설명
링크: 공식 서포터즈
링크: 자주하는 질문
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
수빈님, 질문해주신 내용은 스프링 프레임워크 내의 데이터 바인딩 과정에서 발생하는 오류 처리에 관한 것으로 이해하였습니다.
스프링은 폼 데이터나 JSON 데이터를 자바 객체에 바인딩 할 때 타입 오류가 발생하면 해당 오류를 BindingResult
에 등록합니다. 즉, @Validated
나 @Valid
등으로 데이터 검증을 수행하기 전에 이미 바인딩 과정에서 발생한 오류는 BindingResult
에 담기게 됩니다.
타입 오류가 발생했을 때의 처리:
- 스프링이 입력 값의 타입을 대상 필드의 타입으로 변환하다가 실패하면, FieldError
를 생성하여 BindingResult
에 추가합니다.
- 이후에 @Valid
, @Validated
등을 사용한 검증 과정에서 다른 유효성 검사 오류들도 BindingResult
를 통해 처리됩니다.
결론적으로, 타입 오류가 발생한 경우 바인딩 자체는 실패하지만 오류 정보는 BindingResult
내에 FieldError
형태로 포함되어있어, 개발자는 이후 오류에 대한 처리를 할 수 있습니다.