API 응답 해석
각 API 요청은 클라이언트에게 응답을 생성합니다. 응답을 검토하여 성공했는지 확인하고 필요에 따라 추가 데이터를 검색해야 합니다.
HTTP 상태 코드
SnapCenter REST API에서 사용하는 HTTP 상태 코드는 아래와 같습니다.
암호 | 설명 |
---|---|
200 |
OK 새로운 객체를 생성하지 않는 호출의 경우 성공을 나타냅니다. |
201 |
생성됨 객체가 성공적으로 생성되었습니다. 응답의 위치 헤더에는 객체의 고유 식별자가 포함됩니다. |
202 |
수락됨 요청을 수행하기 위한 백그라운드 작업이 시작되었지만 아직 완료되지 않았습니다. |
400 |
잘못된 요청 요청 입력이 인식되지 않거나 부적절합니다. |
401 |
권한이 없는 사용자 인증에 실패했습니다. |
403 |
권한 부여(RBAC) 오류로 인해 금지된 액세스가 거부되었습니다. |
404 |
찾을 수 없음 요청에서 언급한 리소스가 존재하지 않습니다. |
405 |
허용되지 않는 메서드 요청의 HTTP 메서드는 해당 리소스에 대해 지원되지 않습니다. |
409 |
충돌 객체를 생성하려는 시도는 다른 객체를 먼저 생성해야 하거나 요청된 객체가 이미 존재하기 때문에 실패했습니다. |
500 |
내부 오류 서버에서 일반적인 내부 오류가 발생했습니다. |
응답 헤더
SnapCenter 에서 생성된 HTTP 응답에는 여러 개의 헤더가 포함됩니다.
위치
객체가 생성되면 위치 헤더에는 객체에 할당된 고유 식별자를 포함하여 새 객체의 전체 URL이 포함됩니다.
콘텐츠 유형
이것은 일반적으로 다음과 같습니다. application/json
.
대응 기관
API 요청으로 인해 생성되는 응답 본문의 내용은 객체, 처리 유형, 요청의 성공 또는 실패 여부에 따라 달라집니다. 응답은 항상 JSON으로 렌더링됩니다.
단일 객체
요청에 따라 필드 집합이 포함된 단일 객체가 반환될 수 있습니다. 예를 들어, GET을 사용하면 고유 식별자를 사용하여 클러스터의 선택된 속성을 검색할 수 있습니다.
여러 개체
리소스 컬렉션에서 여러 개의 개체가 반환될 수 있습니다. 모든 경우에 일관된 형식이 사용됩니다. num_records
레코드 수와 객체 인스턴스 배열을 포함하는 레코드 수를 나타냅니다. 예를 들어, 특정 클러스터에 정의된 노드를 검색할 수 있습니다.
Job 객체
API 호출이 비동기적으로 처리되는 경우 백그라운드 작업을 고정하는 Job 객체가 반환됩니다. 예를 들어, 클러스터 구성을 업데이트하는 데 사용되는 PATCH 요청은 비동기적으로 처리되고 Job 객체를 반환합니다.
오류 객체
오류가 발생하면 항상 Error 객체가 반환됩니다. 예를 들어, 클러스터에 대해 정의되지 않은 필드를 변경하려고 하면 오류가 발생합니다.
비어 있는
어떤 경우에는 데이터가 반환되지 않고 응답 본문에 빈 JSON 개체가 포함됩니다.
오류
오류가 발생하면 응답 본문에 오류 객체가 반환됩니다.
체재
오류 객체의 형식은 다음과 같습니다.
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
코드 값을 사용하여 일반적인 오류 유형이나 범주를 파악하고, 메시지를 사용하여 특정 오류를 파악할 수 있습니다. 가능한 경우 대상 필드에는 오류와 관련된 특정 사용자 입력이 포함됩니다.
일반적인 오류 코드
일반적인 오류 코드는 다음 표에 설명되어 있습니다. 특정 API 호출에는 추가 오류 코드가 포함될 수 있습니다.
암호 | 설명 |
---|---|
409 |
동일한 식별자를 가진 객체가 이미 존재합니다. |
400 |
필드 값에 잘못된 값이 있거나 값이 누락되었거나 추가 필드가 제공되었습니다. |
400 |
해당 작업은 지원되지 않습니다. |
405 |
지정된 식별자를 가진 객체를 찾을 수 없습니다. |
403 |
요청을 수행할 수 있는 권한이 거부되었습니다. |
409 |
리소스가 사용 중입니다. |