REST 단계에서 OpenAPI 지원
OpenAPI 사양에서 임포트한 정보로 REST 단계 필드와 동작 입력을 채웁니다. YAML 또는 JSON에 대한 URL을 제공하거나 컨텐츠를 복사하여 붙여넣는 방식으로 사양을 임포트합니다.
혜택
REST 단계의 OpenAPI 지원은 다음과 같은 이점을 제공합니다.
- OpenAPI 사양에서 임포트한 정보를 사용하여 REST 단계 작업, HTTP 메서드, 매개변수, 요청 본문, 경로 및 헤더를 구성합니다.
- 플로우 디자이너 인터페이스를 벗어나지 않고 사용 가능한 API 작업을 검토합니다.
- REST 단계에서 OpenAPI 서비스에 유효한 요청을 보내는 데 필요한 입력을 생성하고 올바른 위치의 REST 단계에 추가합니다.
생성된 입력
OpenAPI 사양을 임포트하면 시스템에서 필수 입력을 생성하고 적절한 경우 REST 단계 양식에 추가합니다. 런타임 시, 시스템은 작업에 제공된 입력 값이 포함된 REST 요청을 보냅니다. 예를 들어 API에 요청에 전달된 이름 매개변수가 필요한 경우 시스템은 이름 입력을 만들어 REST 단계에 추가합니다. 플로우에 작업을 추가하면 name이 작업에 입력이 됩니다.
시스템은 OpenAPI 데이터 유형을 데이터 유형에 매핑합니다 워크플로우 스튜디오 . 예를 들어 OpenAPI 사양에 사용자 객체가 필요한 경우 시스템은 복잡한 데이터 객체를 입력으로 생성합니다. 자세한 내용은 복잡한 데이터를 참조하세요.
사양 크기 제한
기본적으로 시스템은 최대 10MB의 OpenAPI 사양을 임포트할 수 있습니다. 임포트 크기를 늘리려면 시스템 속성을 업데이트합니다 glide.rest.openapi.max_request_size . 최대값은 100MB입니다.
사양 관리
REST 단계에서 옵션을 선택하여 OpenAPI 사양을 임포트합니다. 자세한 내용은 REST 단계을(를) 참조하십시오. OpenAPI 사양을 임포트하면 OpenAPI [sys_openapi] 테이블에 기록이 생성됩니다. 이 테이블에서 직접 사양 기록을 보거나 삭제할 수 있습니다. 사양을 업데이트하려면 사양을 삭제하고 다시 임포트합니다.
디자인 고려 사항
이러한 고려 사항을 염두에 두고 OpenAPI 사양에서 REST 단계를 생성합니다.
- 불필요한 REST 단계 매개변수 제거
- OpenAPI 사양을 임포트할 때, 시스템은 사양에 있는 모든 매개변수와 헤더를 REST 단계에 추가합니다. 마지막 REST 단계 값을 검토하고 요청에서 보내지 않으려는 매개변수를 제거합니다. 예를 들어, API가 JSON과 XML에 대한 컨텐츠 유형 헤더를 허용하는 경우 시스템은 두 헤더를 모두 REST 단계에 추가합니다. 응답에서 수신하려는 컨텐츠 유형에 따라 헤더 중 하나를 제거하십시오.
- 입력 레이블을 사용자 친화적으로 만들기
- REST 단계에 필요한 입력 레이블이 명확하고 이해하기 쉬운지 확인합니다. 레이블이 명확하면 플로우 디자이너가 플로우에서 작업을 사용할 때 필요한 입력을 쉽게 이해할 수 있습니다.
- Flow Designer 구성이 필요하지 않은 입력 제거
- OpenAPI 사양을 임포트할 때 사양에 있는 모든 입력이 작업 입력 섹션에 추가됩니다. 플로우 디자이너가 구성하지 않아도 되는 입력을 제거합니다. 예를 들어, REST 단계 변수가 작업의 다른 단계에서 값을 수신하는 경우 작업 입력이 필요하지 않습니다.
- API 작업 변경 방지
- API 작업 필드의 값을 변경하면 해당 작업에 종속된 모든 값이 제거됩니다. REST 단계 양식에서 OpenAPI 사양 값을 구성한 다음 조작을 변경하는 경우, 시스템은 구성을 저장하지 않습니다. 사용자가 수동으로 입력한 값은 영향을 받지 않습니다.
제한
이러한 제한 사항이 있는 OpenAPI 사양에서 REST 단계를 생성합니다.
- 요청 본문 미디어 유형
- 요청 본문은 JSON 및 XML 기반 미디어 유형만 지원합니다. 임포트한 OpenAPI 사양에서 선택한 작업에 다른 미디어 유형의 요청 본문이 포함되어 있는 경우 시스템은 문자열 유형의 데이터 알약을 요청 본문 필드에 추가합니다.
- OpenAPI 3.0 구성요소
OpenAPI 3.0은 API를 자세히 설명하기 위해 Swagger 2.0에 새 구성요소를 추가합니다. REST 단계의 OpenAPI 지원은 이러한 구성 요소 전부는 아니지만 일부를 지원합니다. REST 단계에서는 현재 이러한 구성요소를 지원하지 않습니다.
- 스키마 객체: oneOf, anyOf 속성
- 판별자 객체
- 정보 객체: termsOfService, 연락처, 라이센스 필드
- 예제 객체
- 링크 객체
- 콜백 객체
- 보안 체계 객체
- 보안 요구 사항 객체
- 태그 객체
- 외부 문서 객체
- 서버 객체
- 사양 확장
- 재귀 참조
이러한 구성 요소에 대한 자세한 내용은 OpenAPI 설명서에서 확인할 수 있습니다. OpenAPI 사양을 참조하세요.