개발자

RESTful API 엔드포인트 설계 질문드립니다

2022년 09월 22일조회 355

안녕하세요. 새로운 엔드포인트를 파다가 어떤 식으로 해야하는지 순간 막혀서 질문드립니다. 엔드포인트의 역할은 프로젝트라는 리소스의 하위 프로젝트가 생기는 개념이에요. 현재 /projects 라는 엔드포인트가 있고 하나의 프로젝트에 여러 하위 프로젝트를 불러오는 엔드포인트를 파려고 하고 있습니다. CRUD 모두 구현이 되어야해서 고민이 좀 되는 것 같아요. 지금 아래 3개에서 고민 중인데, 어떤 방식이 나중에 다른 엔지니어가 보셨을때 더 이해하기 쉬울까요? 1. /projects/{projectID}/sub-projects 2. /sub-projects/project/{projectID} 3. /sub-projects 에 query parameter 추가 (ex. /sub-projects?projectID=xx)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

김장군님의 프로필 사진

1번이 쉽게 잘 읽히는 거 같습니다!

profile picture

익명

작성자

2022년 09월 25일

감사합니다~

손정현님의 프로필 사진

명칭이 sub-projects라서 1번이 자연스러운 것 같아요. sub-projects니까 당연히 projects 하위로 들어가는 리소스겠구나라고 생각하게 되는 것 같습니다. API 설계에 참고할만한 링크 첨부합니다. https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-implementation

profile picture

익명

작성자

2022년 09월 25일

감사합니다

강준영님의 프로필 사진

1번이요 상위/하위 리소스 접근이 좋고 쿼리파라미터는 해당 리소스에서 query filter조건 붙일때 사용하시면 좋습니다 예를들어 호텔 검색하여 요금을 본다고하면 hotelid로 리소스에 접근하게되는데 숙박일자 인원수에 따라 가격이 달라지기때문에 아래처럼 설계 하게됩니다 /hotel/{hotelid}?adultcount=&childcount&checkin&checkout

profile picture

익명

작성자

2022년 09월 25일

아하, 쿼리 파라미터를 이상하게 사용할뻔 했네요. 감사합니다~

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!