RESTful API 디자인 가이드

moon.kick·2025년 4월 21일

좋아, 벨로그 타고 들어간 게 RESTful API 관련 디자인 가이드라면, 아마도 REST API를 잘 설계하는 법에 대한 글일 거야. 이건 백엔드 개발자든, 프론트엔드 개발자든, API를 사용하는 모든 개발자에게 꼭 필요한 개념이지. 여기서 하나하나 쉽게 정리해줄게!


✅ RESTful API 디자인 가이드란?

RESTful API 디자인 가이드는,
"URL은 어떻게 만들고",
"요청 방식(method)은 어떤 걸 쓰고",
"응답은 어떤 구조로 보내야 하고",
"에러는 어떻게 처리할지"
등을 일관되게 정리해 둔 규칙 세트야.

REST는 Representational State Transfer의 약자로,
웹 자원을 HTTP로 주고받는 아키텍처 스타일이야.


💡 기본 구성 개념 정리

1. 📦 리소스(Resource)는 명사로 표현

URL에는 동사가 아니라 명사를 써야 해.

잘못된 예올바른 예
/getUser/users/1
/createPost/posts

REST에서는 리소스를 URI로 표현하고,
그 리소스를 다루는 행위는 HTTP 메서드로 구분해.


2. 🔨 HTTP 메서드 사용법

메서드설명예시
GET조회GET /users
POST생성POST /users
PUT전체 수정PUT /users/1
PATCH일부 수정PATCH /users/1
DELETE삭제DELETE /users/1

3. 🧭 URL 구조 예시 (계층 구조)

  • 모든 리소스는 복수형으로 작성:
    • /users, /products, /comments
  • 하위 자원은 계층 구조로 연결:
    • /users/1/posts/5/comments

4. 🔁 쿼리 파라미터는 조건 필터링용

GET /users?age=20&gender=female
  • 나이 20세, 성별 여성인 유저 필터링

5. 📩 응답 구조 예시 (JSON 통일)

{
  "status": "success",
  "data": {
    "id": 1,
    "name": "Kim",
    "email": "kim@example.com"
  }
}

에러일 경우:

{
  "status": "error",
  "message": "User not found"
}

6. 🚨 상태코드 (HTTP Status)

코드의미상황 예시
200OK성공
201Created생성 성공
204No Content삭제 성공 (응답 없음)
400Bad Request잘못된 요청
401Unauthorized인증 실패
403Forbidden권한 없음
404Not Found리소스 없음
500Internal Server Error서버 오류

7. 📚 참고로 자주 쓰는 URL 예시

동작메서드URL
회원 목록 조회GET/users
특정 회원 조회GET/users/1
회원 등록POST/users
회원 수정PUT/PATCH/users/1
회원 삭제DELETE/users/1

🧩 정리하자면...

RESTful API 디자인 가이드는

"읽기 쉽고, 예측 가능하고, 일관된"
API 사용 경험을 제공하기 위한 설계 원칙이야.


원하면 아래처럼 실제 API 예시도 만들어줄 수 있어.
또는, Spring으로 RESTful API를 어떻게 설계하는지도 알려줄 수 있어.

필요하면 알려줘! 💬
혹시 보고 온 벨로그 링크 내용을 알려줘도 더 구체적으로 도와줄 수 있어!

profile
@mgkick

0개의 댓글