OpenAPI Specification 3.0 지원 | Qlik Cloud 도움말
기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

OpenAPI Specification 3.0 지원

API Designer를 사용하여 OpenAPI Specification(OAS) 3.0으로 API를 설계합니다.

OpenAPI Specification 3.0에는 새로운 기능이 포함되어 있어 API 설계자에게 더 많은 표현력과 생산성을 제공합니다.

OpenAPI에 대한 자세한 내용은 Swagger 문서를 참조하십시오.

구성 요소

구성 요소를 사용하면 API 전반에서 다양한 요소를 재사용할 수 있습니다. 이러한 요소는 다음과 같습니다.
  • 경로 변수
  • 쿼리 매개 변수
  • 헤더
  • 응답

조합

조합을 사용하면 여러 다른 데이터 유형을 결합하여 새로운 데이터 유형을 생성할 수 있습니다. API Designer는 두 가지 유형의 조합을 지원합니다.
  • 구성(allOf)을 사용하면 서로 다른 스키마의 스키마 속성을 집계할 수 있습니다. 예를 들어, 기존 유형인 ContactError의 모든 속성을 재사용하여 데이터 유형 Company를 정의할 수 있습니다.
    구성의 예입니다.
  • 다형성(oneOf/anyOf)을 사용하면 서로 다른 데이터 유형의 속성을 사용할 수 있는 엔터티를 생성할 수 있습니다.
    • oneOf를 사용하면 선택한 유형 중 하나의 속성을 포함하는 데이터 유형을 정의할 수 있습니다. 예를 들어, 서비스 계정에 대한 정보를 가져오는 작업을 생성하는 경우 oneOf 조합을 사용하여 응답을 정의함으로써 Error의 모든 속성 또는 ServiceAccountCount의 모든 속성을 가져올 수 있습니다.
      다형성의 예입니다.
    • anyOf를 사용하면 선택한 유형 중 하나 또는 여러 개의 속성을 포함하는 데이터 유형을 정의할 수 있습니다. 예를 들어, 서로 다른 속성을 포함하는 데이터 유형 nervousSystem 및 유형 skeleton을 정의하고 anyOf 조합을 사용하여 이 두 유형 중 하나의 속성을 포함하는 데이터 유형을 생성할 수 있습니다.

      anyOf 조합은 선택한 데이터 유형 중 하나 이상의 모든 필수 매개 변수를 포함하는 한 유효합니다. 아래 예에서는 nervousSystem 유형의 brain_weight 속성과 skeletonskull_heightteeth 속성을 사용합니다.

      nervousSystem 및 skeleton 데이터 유형을 사용한 조합의 예입니다.

구성과 다형성에 대한 자세한 내용은 상속 및 다형성(Inheritance and Polymorphism)anyOf와 oneOf의 차이점(Difference Between anyOf and oneOf)을 참조하십시오.

응답

OAS 3.0을 사용하면 작업에 대한 새로운 유형의 응답을 정의할 수 있습니다.
  • 응답 범위: 200과 같은 응답을 정의하는 대신 2XX로 설정하여 200에서 299까지의 응답을 포함할 수 있습니다.
  • 기본 응답: 특정 응답이나 범위 응답이 정의되지 않은 경우 반환될 기본 응답을 정의할 수 있습니다.
명시적 코드로 정의된 응답은 응답 범위 및 기본 응답보다 우선하며, 응답 범위는 기본 응답보다 우선합니다. 다음 예에서:
  • 204 응답이 정의되어 있으며 다른 응답보다 우선합니다.
  • 2XX 응답은 응답 코드 200~203 및 205~299에 적용됩니다.
  • default 응답은 모든 1XX, 3XX, 4XX 및 5XX 응답에 적용됩니다.
응답 섹션입니다.

보안

OAS 3.0은 API에 대한 새로운 보안 체계를 제공합니다.
  • Bearer 인증
  • OpenIdConnect

제한 사항

OAS 3.0을 사용하면 일부 속성이 읽기 전용 또는 쓰기 전용임을 나타낼 수 있습니다.

이 옵션은 데이터 유형에서만 사용할 수 있으며 작업 수준의 요청이나 응답에서는 정의할 수 없습니다.

제한 사항의 예입니다.

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 알려 주십시오!