2개 이상의 PathVariable

박재성·2024년 12월 19일
0

제가 내일배움캠프에서 지급받은 강의와 인프런 김영한님 강의 모두 @PathVariable을 하나씩만 사용했습니다. 하지만 이번 Ch3의 과제에서는 2개를 사용할 일이 생겨 열심히 찾아봤습니다.

댓글을 수정하고 삭제할 때 /schedule/{id}/comment{id} 형식으로 @PutMapping@DeleteMapping을 보낼려고 하는데 어떻게 받아야 하는지를 몰랐어서 이 글을 작성하게 되었습니다.

먼저, 보통은 다음과 같은 형식으로 받습니다.

@PutMapping("/{id}")
public ResponseEntity<> update(
	@PathVariable Long id){}

@DeleteMapping("/{id}")
public ResponseEntity<> delete(
	@PathVariable Long id){}

하지만 id가 2개일 경우는 둘 다 같은 이름으로 사용할 수 없습니다. 따라서 저는 다음과 같은 형식으로 받았습니다.

@RequestMapping("/schedule/{scheduleId}/comment")
public class Commentcontroller {

	@PutMapping("/{commentId}")
	public ResponseEntity<CommentResponseDto> updateComment(
        @PathVariable Long scheduleId,
        @PathVariable Long commentId) {}
}

이렇게 받는 id를 이름을 붙여 구별할 경우 정확하게 받아올 수 있고, 헷갈리지 않을 수 있습니다.

0개의 댓글