HTTP CRUD

HTTP 메서드 CRUD 분리

같은 route.ts 안에서도 GET, POST, PUT, DELETE 함수가 요청 목적에 따라 서로 다른 응답을 만듭니다.

요청 객체

NextRequest 입력 추출

URL, searchParams, body, header를 읽어 검증한 뒤 서버 로직에 필요한 형태로 넘깁니다.

응답 객체

NextResponse 상태 설계

JSON 본문, 상태 코드, 쿠키, 리다이렉트를 명확히 반환해 클라이언트 처리가 예측 가능하게 합니다.

읽기/생성

GET/POST 역할 분리

조회와 생성 요청을 메서드로 나눠 캐시 가능성, 검증 방식, 오류 응답을 다르게 둡니다.

변경/삭제

PUT/DELETE 대상 검증

수정과 삭제 요청은 대상 id, 소유권, 권한 확인을 처리 전에 함께 확인합니다.

요청 객체

NextRequest에서 URL과 body 정보를 읽습니다

검색 파라미터, JSON body, 헤더 정보는 메서드별 처리의 출발점입니다.

메서드별 역할

NextResponse성공, 검증 실패, 권한 부족, 서버 오류를 상태 코드와 메시지 형식으로 구분합니다.
GET/POSTGET은 조회 조건과 캐시를, POST는 body 검증과 생성 결과 위치를 중심으로 봅니다.
PUT/DELETE변경 대상 id가 실제 사용자 권한 안에 있는지 처리 전에 확인합니다.