/users처럼 자원을 명사와 복수형으로 잡습니다.
REST 설계 판단 기준
라우트 구현 전에 자원, 행위, 응답 계약 우선 고정
Express 코드는 이 계약을 실행하는 위치입니다. 이름과 메서드가 흔들리면 클라이언트 처리도 함께 흔들립니다.
조회는 GET, 생성은 POST처럼 HTTP 메서드로
표현합니다.
생성·수정 요청은 JSON 본문과 필수 필드를 미리 정합니다.
없는 자원, 검증 실패, 권한 부족의 상태 코드를 분리합니다.
성공, 오류, 삭제 후 재조회까지 계약 단위로 확인합니다.
목록 조회
GET /api/users는 데이터를 바꾸지 않고 배열 JSON을
돌려줍니다.
사용자 생성
POST /api/users는 필수 필드 검증 뒤 생성된 객체를
응답합니다.
사용자 삭제
DELETE /api/users/:id는 삭제 성공 시 응답 본문을 비워도
됩니다.
프론트엔드가 같은 URI와 상태 코드를 보고 목록 갱신, 폼 오류, 빈 상태를 예측할 수 있으면 API 계약이 안정적입니다.