제가 내일배움캠프에서 지급받은 강의와 인프런 김영한님 강의 모두 @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
를 이름을 붙여 구별할 경우 정확하게 받아올 수 있고, 헷갈리지 않을 수 있습니다.