Inflearn brand logo image

Inflearn Community Q&A

qheogus555834's profile image
qheogus555834

asked

Spring MVC Part 1 - Core technologies for backend web development

Product Details

@GetMapping(

Written on

·

345

0

@GetMapping("/{itemId}")
public String item(@PathVariable long itemId,Model model){
Item item = itemRepository.findById(itemId);
model.addAttribute("item",item);
return "/basic/item";
}

@GetMapping("/{itemId}")

이 부분에서 /basic/items/{itemId} url을 입력하였을때

{itemId} 이 부분이 그대로 입력되지않고 치환이 일어나는

과정이 궁금합니다. {} 이것을 붙여서 치환되는 건가요 ?.

MVCspring

Answer 2

5

안녕하세요. qheogus55님, 공식 서포터즈 David입니다.

.
내부적으로 요청된 URL과 맵핑된 URL을 각각 비교합니다.

요청된 URL(ex. /items/777)과 맵핑된 URL(ex. /items/{id})을 "/"을 기준으로 자릅니다.

요청된 URL의 tokens(items, 777), 맵핑된 URL의 tokens(items, {id})을 가지고 패턴매칭을 진행합니다.

패턴이 매칭된다면 매칭된 맵핑({GET /items/{id})을 기준으로 핸들러 메서드를 가져옵니다.

패턴매칭할 때는 AntPathMatcher클래스가 사용됩니다.

아래 이미지는 패턴매칭이 진행중인 코드입니다.

.
감사합니다.

0

저도 궁금했던건데 감사합니다.

qheogus555834's profile image
qheogus555834

asked

Ask a question