작성
·
285
0
이 이유가 뭔가요?
@PostMapping("/add")
public String addItemV1(@ModelAttribute Item item, RedirectAttributes redirectAttributes, BindingResult bindingResult) {
이렇게 해도 잘 돌아가네요
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
BindingResult는 검증 결과를 저장하는 객체입니다. @ModelAttribute Item item 다음에 BindingResult를 위치시켜야 하는 이유는 검증 과정에서 발생한 에러 정보를 BindingResult가 받아 처리하기 때문입니다.
만약 BindingResult를 @ModelAttribute Item item 앞에 위치시킨다면 검증 과정에서 에러가 발생해도 BindingResult가 해당 정보를 받아내지 못합니다. 그렇기 때문에 BindingResult는 @ModelAttribute Item item 다음에 위치시켜야 하며, 이렇게 하면 검증 결과를 바로 확인할 수 있으므로 안정적인 코드를 작성할 수 있습니다.
감사합니다.