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

마이티님의 프로필 이미지

작성한 질문수

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

FieldError, ObjectError

model 및 BindingResult을 사용할 때

작성

·

359

0

model이랑 BindingReulst로 오류처리 하는 부분을 뷰로 넘겨주는 로직에 관해서 질문입니다.

 

지금은 타임리프를 사용해서 model 등을 값을 받아서 화면에 출력하는데 사용을 하지만 나중에 프론트 프레임워크를 사용하는 경우 해당 검증 방법을 그대로 쓸 수 있나요??

 

보통 json형태로 값을 보내주는 걸로 알고 있는데 그 경우 검증 로직은 프론트 단에서 하게 되는지 궁금합니다.

답변 1

0

안녕하세요. 키레이님, 공식 서포터즈 코즈위버입니다.

프론트와 백엔드가 분리된 상황 (API 통신)에서도 BindingResult 방법이 유효한지 질문하신것 같아요. BindingResult 방법은 그 경우에도 유효합니다. BindingResult로 오류내용을 받아 이를 약간 정제하여 프론트로 오류 응답을 생성하는 식으로 사용하실 수 있습니다.

 

보통 API 형태로 작업하다보면 프론트로 결과를 전달하는 객체를 생성하는데요, 여기에 오류 메세지를 포함하여 응답하는 형태로 사용합니다. 아래와 같은 객체라면 message에 오류 메세지를 바인딩해서 응답합니다.

class ResultObject {

private boolean result;

private String message;

private Object data;

}

혹은 오류에 따라 HTTP 상태코드를 조절해야 할수도 있는데 이는 프로젝트에 따라 달라질 수 있습니다.

감사합니다.