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