URL surface
/api/users/[id]
자원 이름과 동적 세그먼트로 라우트가 다루는 대상을 고정한다.
URL 표면, 입력 관문, 서버 작업, 출력 계약을 나누면 라우트 파일이 커져도 책임이 흐려지지 않는다.
/api/users/[id]
자원 이름과 동적 세그먼트로 라우트가 다루는 대상을 고정한다.
query, body, cookie, header를 서로 다른 입력으로 보고 먼저 검증한다.
권한 확인 뒤 서비스 함수와 저장소 호출을 실행한다. 브라우저 코드는 이 안을 모른다.
상태 코드와 JSON 모양을 정해 클라이언트가 같은 방식으로 처리하게 한다.