REST는 문서, 그림, 데이터 등의 자원을 이름으로 구분해서 해당 자원에 대한 상태, 정보를 주고받는 것. 또한 HTTP Method를 활용해서 해당 자원에 대한 CRUD를 적용하는 것을 의미한다.
example
GET /api/challenges/{challengeId}/certfeeds
챌린지 인증피드 목록 조회
POST /api/challenges/{challengeId}/certfeeds
챌린지 인증피드 목록 등록
GET /api/challenges/{challengeId}/certfeeds/{id}
챌린지 인증피드 상세 조회
PUT /api/challenges/{challengeId}/certfeeds/{id}
챌린지 인증피드 수정
DELETE /api/challenges/{challengeId}/certfeeds/{id}
챌린지 인증피드 삭제
GET /api/challenges/{challengeId}/certfeeds/{id}/comments
인증피드 댓글 목록 불러오기
POST /api/challenges/{challengeId}/certfeeds/{id}/comments
인증피드 댓글 등록
PUT /api/challenges/{challengeId}/certfeeds/{id}/comments/{commentId}
인증피드 댓글 등록
DELETE /api/challenges/{challengeId}/certfeeds/{id}/comments/{commentId}
인증피드 댓글 삭제
POST /api/challenges/{challengeId}/certfeeds/{id}/like
챌린지 인증피드 좋아요하기
DELETE /api/challenges/{challengeId}/certfeeds/{id}/like
챌린지 인증피드 좋아요 삭제
{}
로 묶인 부분은 URL에서 경로 변수(Path Variable)라고 합니다. RESTful API에서는 경로 변수를 사용하여 동적인 정보를 URL에 포함시킬 수 있다.
여기서의 URL은 /api/challenges/{challengeId}/certfeeds/{id}/comments
이다. 이 URL에서 {challengeId}
와 {id}
는 경로 변수로, 실제 값으로 대체되어 사용된다. 클라이언트가 요청할 때 실제로 원하는 도전과 인증피드의 댓글 목록을 가져오기 위해 해당 경로 변수에 원하는 값을 넣어 요청한다.
예를 들어, 클라이언트가 도전 ID가 123이고 인증피드의 ID가 456인 댓글 목록을 가져오려면 아래와 같이 요청을 보낼 수 있다.
GET /api/challenges/123/certfeeds/456/comments
서버는 이 요청을 받으면 경로 변수에 들어있는 값을 읽어 해당 도전과 인증피드의 댓글 목록을 찾아서 응답한다.
경로 변수를 사용하여 요청하는 방식으로, 클라이언트는 동적인 데이터를 특정 API 엔드포인트에 요청할 수 있게 된다.