1. REST API란

REST는 Representational State Transfer의 약자입니다. 핵심은,

"URL로 자원을 표현하고, HTTP 메서드로 행위를 구분한다" 입니다

게시글(Post)이라는 자원이 있다고 합시다:

게시글 전체 조회    GET     /api/posts
게시글 단건 조회    GET     /api/posts/1
게시글 생성        POST    /api/posts
게시글 수정        PUT     /api/posts/1
게시글 삭제        DELETE  /api/posts/1

URL은 명사(자원)만 쓰고, 행위는 HTTP 메서드로 표현합니다.

❌ 잘못된 설계
GET  /api/getPosts
POST /api/createPost
POST /api/deletePost/1

✅ 올바른 설계
GET    /api/posts
POST   /api/posts
DELETE /api/posts/1

URL에 동사(get, create, delete)를 넣지 않는 게 REST의 핵심 규칙입니다.


2. HTTP 메서드 5가지

각 메서드의 의미를 정확히 알아야 합니다.

GET : 조회

서버에서 데이터를 가져올 때 사용합니다. 요청 바디(body)를 보내지 않고, URL과 쿼리 파라미터로만 정보를 전달합니다.

GET /api/posts              → 전체 게시글 목록
GET /api/posts/1            → 1번 게시글
GET /api/posts?page=0&size=10  → 페이징

특징: 같은 요청을 여러 번 보내도 결과가 같음 (멱등성), 서버의 데이터를 변경하지 않음

POST : 생성

새로운 데이터를 만들 때 사용합니다. 요청 바디에 JSON을 담아서 보냅니다.

POST /api/posts
Body: {"title": "제목", "content": "내용"}

특징: 같은 요청을 두 번 보내면 데이터가 2개 생김 (멱등하지 않음)

PUT : 전체 수정