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

코더님의 프로필 이미지
코더

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

예제로 구현하는 파일 업로드, 다운로드

return "redirect:/items/{itemId}"; 질문

작성

·

437

0

아래코드에서 @PostMapping("/items/new") 이 컨트롤러가 호출이 되면 return "redirect:/items/{itemId}";에 의해 redirect되는데 그 다음 바로 아래 컨트롤러 @GetMapping("/items/{id}")가 호출되는거로 보여집니다. 그런데 redirect 경로는 끝에 {itemId}인데 왜 /items/{id}가 호출이 되나요 ? 같아야 호출되는거 아닌가요??

답변 1

1

안녕하세요. 코더님, 공식 서포터즈 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})이 같다면 동일하게 처리 됩니다.

감사합니다.

코더님의 프로필 이미지
코더

작성한 질문수

질문하기