에러 코드
실패한 요청은 무엇이 잘못됐는지 코드와 함께 돌려줍니다.
응답 모양
code와 message는 언제나 옵니다. hint는 덧붙일 말이 있을 때만 함께 옵니다.
{
"code": "PGRST205",
"message": "Could not find the table 'orders'.",
"hint": "Turn its API access on in Gridie, or check the name."
}코드 일람
| 상태 | 코드 | 뜻 |
|---|---|---|
| 401 | PGRST301 | 키가 없거나, 형식이 틀렸거나, 폐기됐거나, 만료됨 |
| 403 | PGRST302 | 읽기 전용 키로 쓰기를 시도했거나, 테이블 권한이 없음 |
| 404 | PGRST205 | 대상 테이블을 찾을 수 없음 |
| 400 | PGRST100 | 필터나 정렬 문법을 해석하지 못함 |
| 400 | PGRST101 | 이 엔드포인트가 다루지 않는 요청 |
| 400 | PGRST102 | 본문 모양이 규약과 다름 |
| 400 | PGRST204 | 요청에 없는 컬럼이 들어 있음 |
| 400 | PGRST200 | 쿼리는 만들었으나 실행이 실패함 |
| 406 | PGRST116 | 객체 하나를 요구했는데 결과가 한 행이 아님 |
| 500 | PGRST000 | 테이블 목록 조회 자체가 실패함 |
짚어 볼 것
404가 왔다면
PGRST205는 이름이 틀렸을 때, API 연결이 꺼져 있을 때, 키 발급자에게 그 테이블을 볼 권한이 없을 때 모두 같은 답을 냅니다. 구분해서 알려 주면 키를 쥔 쪽이 워크스페이스에 어떤 테이블이 있는지 이름으로 떠볼 수 있게 되기 때문입니다.
GET /api/v1/tables를 불러 이 키가 실제로 볼 수 있는 목록을 확인하세요.
컬럼 이름이 맞는지
PGRST204는 컬럼 이름을 확인하라는 신호입니다. 그리디 화면에 보이는 이름과 실제 컬럼 이름이 다를 수 있습니다. GET /api/v1/tables 응답에서 columns[].name이 요청에 쓰는 이름이고, columns[].label이 화면에 보이는 이름입니다.
값이 컬럼과 맞는지
PGRST200은 문법은 맞지만 데이터베이스가 거절한 경우입니다. 값의 타입이 컬럼과 다르거나, NOT NULL 컬럼을 비워 보냈거나, 제약 조건에 걸린 상황입니다. 데이터베이스 원문 오류는 밖으로 내보내지 않습니다.
키가 막혔다면
폐기와 만료는 즉시 반영되어 그다음 요청부터 401이 옵니다. 설정에서 키 상태를 확인하고, 필요하면 새로 발급하세요. 키는 발급 순간에 한 번만 보여주므로 잃어버린 키는 폐기하고 다시 만듭니다.
Last updated on