에러 응답
Connect Base API 의 에러 응답 형태와 HTTP 상태 코드 매핑입니다.
응답 형태
성공: 데이터 객체를 그대로 반환
json
{ "id": "row_abc", "data": { ... } }에러: { "error": "..." }
json
{ "error": "잘못된 데이터 ID입니다." }별도의
code필드는 없습니다. HTTP 상태 코드로 에러 종류를 구분하세요.
HTTP 상태 코드
| 상태 | 의미 | 일반적 원인 |
|---|---|---|
| 200 | OK | 성공 |
| 201 | Created | 리소스 생성 성공 |
| 400 | Bad Request | 요청 본문/파라미터 유효성 실패 |
| 401 | Unauthorized | Public Key 누락 / 만료된 JWT |
| 403 | Forbidden | 권한 부족 (예: cb_pk_ 로 admin 엔드포인트 호출) |
| 404 | Not Found | 잘못된 tableId / storageId / functionId |
| 408 | Request Timeout | 함수 실행 타임아웃 |
| 409 | Conflict | 중복 키 / 이미 존재하는 리소스 |
| 422 | Unprocessable Entity | 스키마 검증 실패 |
| 429 | Too Many Requests | 플랜 한도 초과 (rate limit) |
| 500 | Internal Server Error | 서버 측 예외 |
SDK 에서 처리
typescript
import { ApiError, AuthError } from 'connectbase-client'
try {
await cb.database.getData('tbl_xxx')
} catch (e) {
if (e instanceof ApiError) {
if (e.statusCode === 404) console.error('테이블을 찾을 수 없음')
else if (e.statusCode === 429) console.error('Rate limit')
else console.error('API 에러:', e.statusCode, e.message)
} else if (e instanceof AuthError) {
console.error('인증 에러:', e.message)
}
}자세한 패턴은 SDK 에러 처리 와 흔한 에러 & 해결책 을 참고하세요.