자원 이름 결정
/api/users, /api/users/:id처럼 URL은
데이터의 위치를 말하게 합니다.
URI와 HTTP 메서드를 정한 뒤 Express 라우트로 옮기고, 성공/실패 응답을 같은 형식으로 유지하면 클라이언트가 예측 가능한 API를 사용할 수 있습니다.
/api/users, /api/users/:id처럼 URL은
데이터의 위치를 말하게 합니다.
조회는 GET, 생성은 POST, 갱신은 PUT/PATCH, 삭제는 DELETE로 나눕니다.
params와 body를 확인하고, 없는 자원은 성공 응답으로 숨기지 않습니다.
성공은 200/201/204, 실패는 400/404/500 계열과 JSON 메시지로 반환합니다.
경로에는 동사가 아니라 자원을 둡니다. getUsers보다
GET /users가 REST에 가깝습니다.
클라이언트가 분기할 수 있도록 상태 코드와 JSON 구조를 일관되게 맞춥니다.
필수 값 누락은 400, 없는 자원은 404처럼 실패 원인을 HTTP 의미와 맞춥니다.
Express 코드를 작성하기 전 표처럼 엔드포인트 계약을 먼저 적어 두면, 라우트 구현과 테스트 케이스를 같은 기준으로 맞출 수 있습니다.