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

박정훈님의 프로필 이미지
박정훈

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

상품 수정

@ModelAttribute관련 질문입니다.

작성

·

328

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

박정훈님의 프로필 이미지
박정훈
질문자

넵 감사합니다.

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 박정훈님

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

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

감사합니다.

박정훈님의 프로필 이미지
박정훈

작성한 질문수

질문하기