path - handler - response contract

API Route는 세 칸의 계약으로 설계한다

URL은 자원을 드러내고, 핸들러는 메서드별 책임을 나누며, 응답은 프론트가 해석할 상태와 본문을 고정한다.

1. Path

/api/orders/[id]

명사형 자원과 동적 세그먼트만으로 요청 대상을 표현한다.

2. Handler

GET조회 전용, body 없음
PATCH허용 필드만 부분 수정
DELETE대상 확인 뒤 삭제

3. Response

성공과 실패의 JSON 모양을 라우트마다 흔들리지 않게 맞춘다.

{ ok, data, error }
상황 상태 본문 기준
정상 처리 200 / 201 / 204 필요한 데이터만 반환하고 내부 필드는 숨긴다.
입력 오류 400 / 422 어느 필드가 왜 실패했는지 짧게 알려준다.
대상 없음 404 없는 자원과 권한 부족을 섞어 설명하지 않는다.