• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@ModelAttribute관련 질문입니다.

21.07.29 23:44 작성 조회수 244

0

강사님 아래 다른 분들이 올려주신 질문이랑 강사님의 답변을 봤는데도 이해가 가지 않아서 질문을 올립니다.. @ModelAttribute를 붙이면 model.addAttribute의 효과를 얻을 수 있는 것이라는 말씀은 이해가 가는데 보통 @PostMapping에서는 model 객체를 사용하지 않았던거 같은데 updateItem 함수에서는 왜 사용이 되는지랑 아래 캡쳐화면 보시면

@PostMapping("/items/new")
public String create(BookForm form) {
Book book = new Book();
book.setName(form.getName());
book.setPrice(form.getPrice());
book.setStockQuantity(form.getStockQuantity());
book.setAuthor(form.getAuthor());
book.setIsbn(form.getIsbn());

itemService.saveItem(book);

return "redirect:/items";
}

create 함수도 @PostMapping이면서 redirect:/items로 리턴이 되고 BookForm 객체변수명이 form 인데 왜 여기서는 @ModelAttribute가 안붙는지도 궁금합니다. 그리고 @ModelAttribute가 생략을 해도 되는건지도 궁금합니다.

요약해서 질문 드리면

1. @PostMapping에서는 보통 model 객체를 사용하지 않았던거 같은데 updateItem 함수에서는 왜 사용이 되나요?

2. create함수에서는 왜 @ModelAttribute가 안붙는건가요?

3. @ModelAttribute를 생략을 해도 되는건가요?

답변 2

·

답변을 작성해보세요.

0

박정훈님의 프로필

박정훈

질문자

2021.07.31

넵 감사합니다.

0

안녕하세요. 박정훈님

먼저 @ModelAttribute를 생략해도 됩니다^^ (생략하면 자동으로 @ModelAttribute가 들어간다고 생각하시면 됩니다.)

여기에 대한 자세한 내용은 MVC1 강의를 참고해주세요.

감사합니다.