-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
return "redirect:/items/{itemId}"; 질문
23.09.13 23:01 작성 조회수 386
0
아래코드에서 @PostMapping("/items/new") 이 컨트롤러가 호출이 되면 return "redirect:/items/{itemId}";에 의해 redirect되는데 그 다음 바로 아래 컨트롤러 @GetMapping("/items/{id}")가 호출되는거로 보여집니다. 그런데 redirect 경로는 끝에 {itemId}인데 왜 /items/{id}가 호출이 되나요 ? 같아야 호출되는거 아닌가요??
답변을 작성해보세요.
1
David
2023.09.14
안녕하세요. 코더님, 공식 서포터즈 David입니다.
예를 들어, item의 id가 1이라고 한다면,
redirect 요청 경로는 /items/{itemId} => /items/1 이 됩니다.
/items/{id} 로 맵핑된 것은 /items/1 을 /items/{id} 형태로 인지하기 때문에 /items/{id}에서 /items/1을 처리하게 됩니다.
{itemId}, {id}가 동일하지 않다고 판단하신 이유는 itemId, id가 달라서라고 이해했습니다.
괄호 사이의 itemId, id는 해당 자리에 오는 어떤 것을 지칭하는 이름이기 때문에 이름이 서로 달라도 포맷(/items/{itemId}, /items/id})이 같다면 동일하게 처리 됩니다.
감사합니다.
답변 1