데브허브 | DEVHUB | REST API Basics & Best Practices ExplainedREST API Basics & Best Practices Explained
- REST API는 표준 HTTP 메서드를 사용하여 시스템 간 통신을 가능하게 하는 가장 일반적인 API 방식입니다. 🌐
- 리소스 모델링 시 명사(복수형)를 사용하며(예:
/products), 동사(예: getProducts)는 피해야 합니다. 🏷️
- URL은 컬렉션(예:
/products)과 개별 항목(예: /products/{id})을 명확하게 식별해야 하며, 중첩 리소스(예: /products/{id}/reviews)도 명확히 정의해야 합니다. 🔗
- 실제 API에서는 대역폭 절약, 성능 향상, 유연성 제공을 위해 필터링, 정렬, 페이지네이션 기능을 구현하는 것이 중요합니다. ⚙️
- 필터링은 쿼리 파라미터(예:
?category=electronics&inStock=true)를 통해 특정 조건에 맞는 데이터를 검색합니다. 🔍
- 정렬은 쿼리 파라미터(예:
?sort=price:asc)를 사용하여 데이터를 원하는 순서로 정렬하며, 백엔드에서 처리하는 것이 효율적입니다. ⬆️
- 페이지네이션은
page와 limit, offset과 limit, 또는 cursor 기반 방식을 사용하여 대량의 데이터를 분할하여 전송합니다. 📄
- HTTP 메서드는 CRUD(생성, 읽기, 업데이트, 삭제) 작업에 따라 적절히 사용해야 합니다. 🛠️
GET은 데이터 읽기(안전, 멱등성), POST는 리소스 생성(상태 변경, 비멱등성)에 사용됩니다. 📥
PUT은 전체 리소스 교체(멱등성), PATCH는 리소스 부분 업데이트(비멱등성)에 사용됩니다. 🔄
DELETE는 리소스 삭제(멱등성)에 사용됩니다. 🗑️
- API 요청 결과에 따라 적절한 HTTP 상태 코드(예: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Internal Server Error)를 반환하여 오류를 처리해야 합니다. 🚦
- REST API 모범 사례에는 리소스에 복수 명사 사용, 적절한 HTTP 메서드 활용, 필터링/정렬/페이지네이션 지원, 그리고 API 버전 관리(예:
/api/v1)를 통한 하위 호환성 유지가 포함됩니다. ✅