인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

남기석님의 프로필 이미지

작성한 질문수

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

강의를 듣다 궁금한 점이 생겨서 질문 드립니다

작성

·

113

0

우선 강의 정말 잘 듣고 있습니다! 

복습을 하다 여쭤보고 싶은 부분이 생겨서 글을 남깁니다.

강의 - 주문 상품 수정 중 아래 매서드가  itemId 파라미터를 사용하는데 이 itemId가 정확히 어디서 무엇을 어떻게 받아오는지 과정에 대해 여쭤보고싶습니다! 

@GetMapping("/items/{itemId}/edit")
public String updateItemForm(@PathVariable("itemId") Long itemId, Model model) {
Book item = (Book) itemService.findOne(itemId);

BookForm form = new BookForm();
form.setId(item.getId());
form.setName(item.getName());
form.setPrice(item.getPrice());
form.setStockQuantity(item.getStockQuantity());
form.setAuthor(item.getAuthor());
form.setIsbn(item.getIsbn());

model.addAttribute("form", form);
return "items/updateItemForm";
}

답변 1

1

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

안녕하세요. 남기석님

이 부분은 스프링 MVC가 /items/{itemId}/edit 라고 매핑을 했기 때문에 동작하는 기능입니다

예를 들어서 /items/100/edit 라고 오면 100이라는 값을 @PathVariable("itemId") Long itemId 이 부분에 100 값을 넣어주는 것이지요.

관련해서 spring pathvariable binding로 검색하시면 더 자세한 내용을 찾으실 수 있을거에요^^

도움이 되셨길 바래요^^