NestJS에서 RESTful API 메서드
GET
서버로부터 데이터를 조회할 때 사용한다.
GET 특징
- 서버의 리소스를 변경하지 않으며, 멱등성(idempotent)이 보장된다.
- 여러 번 요청해도 같은 결과를 반환한다.
GET 사용
게시물 목록 불러오기, 특정 사용자의 정보 조회
POST
서버에 데이터를 생성하거나 제출할 때 사용한다.
POST 특징
- 요청 본문에 데이터를 담아 서버로 전송하며, 서버의 리소스를 변경한다.
- 같은 요청을 여러 번 보내면 리소스가 중복 생성될 수 있다.
POST 사용
사용자 등록, 게시물 작성
PUT
리소스를 전체 교체하거나 생성할 때 사용한다.
PUT 특징
- 지정된 위치에 있는 리소스를 대체하며, 멱등성이 보장된다.
- 요청 시 제공된 데이터로 리소스 전체를 갱신하거나, 리소스가 없으면 새로 생성한다.
PUT 사용
특정 사용자 정보 전체 수정, 파일 덮어쓰기
PATCH
리소스의 일부를 수정할 때 사용한다.
PATCH 특징
- PUT과 달리, 리소스의 특정 필드나 일부만 갱신한다.
- 멱등성이 보장된다.
PATCH사용
사용자의 이메일 주소 변경, 게시물의 제목 수정
DELETE
서버의 특정 리소스를 삭제할 때 사용한다.
DELETE 특징
- 서버에서 지정된 리소스를 제거하며, 멱등성이 보장된다.
- 여러 번 요청해도 같은 결과가 유지된다.
DELETE 사용
사용자 계정 삭제, 게시물 삭제
HEAD
GET과 유사하게 서버의 리소스를 조회하지만, 본문 없이 헤더 정보만 반환한다.
HEAD 특징
- 리소스의 상태나 메타 정보를 확인할 때 유용하다.
- 파일의 크기나 마지막 수정 시간 등을 확인할 수 있다.
HEAD사용
리소스의 존재 여부 확인, 파일의 메타데이터 조회
OPTIONS
서버가 특정 리소스에 대해 지원하는 HTTP 메서드를 확인할 때 사용된다.
OPTIONS 특징
- 서버가 허용하는 HTTP 메서드의 목록을 반환하며, CORS 설정 시 클라이언트와 서버 간의 사전 요청(Preflight Request)에 사용된다.
OPTIONS 사용
클라이언트가 서버에 어떤 메서드를 사용할 수 있는지 확인, CORS 사전 요청