• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@GetMapping(

21.10.19 23:44 작성 조회수 219

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} 이 부분이 그대로 입력되지않고 치환이 일어나는

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

답변 2

·

답변을 작성해보세요.

5

David님의 프로필

David

2021.10.20

안녕하세요. 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

탈룰라님의 프로필

탈룰라

2021.12.23

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