REST API 엔드포인트
Caution
데모 페이지 - 다중 탭 문서 기능을 보여주기 위한 데모 페이지입니다. 이 내용은 예시 목적으로만 제공됩니다.
REST API는 데이터를 조회하고 조작할 수 있는 엔드포인트를 제공합니다. 모든 엔드포인트는 JSON 형식으로 데이터를 반환합니다.
기본 URL
모든 API 요청은 다음 기본 URL로 보내야 합니다:
https://api.example.com/v1사용자 엔드포인트
전체 사용자 조회
GET /users전체 사용자 목록을 반환합니다. 페이지네이션 파라미터를 지원합니다.
쿼리 파라미터:
| 파라미터 | 타입 | 설명 |
|---|---|---|
| page | integer | 페이지 번호 (기본값: 1) |
| limit | integer | 페이지당 레코드 수 (기본값: 50, 최대: 100) |
| sort | string | 정렬 기준 필드 (예: “name”, “created_at”) |
응답:
{ "data": [ { "id": "user_123", "name": "John Doe", "created_at": "2023-01-15T08:30:00Z" }, // More users... ], "meta": { "total": 250, "page": 1, "limit": 50 }}ID로 사용자 조회
GET /users/{id}ID로 단일 사용자를 반환합니다.
응답:
{ "data": { "id": "user_123", "name": "John Doe", "created_at": "2023-01-15T08:30:00Z", "profile": { "bio": "Software developer", "location": "New York", "avatar_url": "https://example.com/avatars/john.jpg" } }}상품 엔드포인트
전체 상품 조회
GET /products전체 상품 목록을 반환합니다. 필터링과 페이지네이션을 지원합니다.
쿼리 파라미터:
| 파라미터 | 타입 | 설명 |
|---|---|---|
| category | string | 카테고리로 필터링 |
| min_price | number | 최소 가격으로 필터링 |
| max_price | number | 최대 가격으로 필터링 |
| page | integer | 페이지 번호 (기본값: 1) |
| limit | integer | 페이지당 레코드 수 (기본값: 50, 최대: 100) |
응답:
{ "data": [ { "id": "prod_123", "name": "Example Product", "description": "This is an example product", "price": 49.99, "category": "electronics" }, // More products... ], "meta": { "total": 350, "page": 1, "limit": 50 }}오류 처리
모든 엔드포인트는 표준 HTTP 상태 코드를 따르며, 필요한 경우 상세한 오류 메시지를 함께 반환합니다:
| 상태 코드 | 설명 |
|---|---|
| 200 | OK - 요청이 성공했습니다 |
| 400 | Bad Request - 파라미터가 올바르지 않습니다 |
| 401 | Unauthorized - 인증이 필요합니다 |
| 403 | Forbidden - 권한이 부족합니다 |
| 404 | Not Found - 리소스가 존재하지 않습니다 |
| 429 | Too Many Requests - 요청 한도를 초과했습니다 |
| 500 | Internal Server Error - 서버 오류가 발생했습니다 |
오류 응답에는 무엇이 잘못되었는지 설명하는 메시지가 포함됩니다:
{ "error": { "code": "invalid_parameter", "message": "The parameter 'email' is not a valid email address", "request_id": "req_abc123" }}