1장. OpenAPI 사양 소개

Red Hat 3scale API Management에서 OpenAPI 사양(OAS)은 OpenAPI 문서를 최적으로 관리하는 데 도움이 됩니다. OAS(OpenAPI Specification)는 기존 서비스를 업데이트하거나 새 서비스를 생성하는 툴을 제공합니다.

다음은 3scale의 OAS에 대한 특별한 고려 사항입니다.

사전 요구 사항

  • API를 정의하는 OpenAPI 문서입니다.
  • 3scale 2.11 인스턴스 테넌트의 자격 증명(토큰 또는 provider_key).

OAS를 사용하면 3scale에서 다음 기능을 사용할 수 있습니다.

참고

OpenAPI 문서를 가져올 때 ActiveDocs를 생성하거나 업데이트합니다. 3scale 사양으로 사용하기 위해 OpenAPI 문서를 작성하는 방법을 참조하십시오.

  • 3scale service system_name 을 OAS에서 info.title 필드로 기본값으로 설정하는 선택적 매개 변수로 전달하는 기능.
  • OpenAPI 사양에 정의된 각 작업에 대해 메서드가 생성됩니다.

    • 메서드 이름은 operation.operationId 필드에서 가져옵니다.
  • 새 API 정의를 가져오기 전에 기존의 모든 매핑 규칙이 삭제됩니다.

    • 명령을 실행하기 전에 메서드가 있는 경우 삭제되지 않습니다.
  • OpenAPI 사양에 정의된 각 작업에 대해 매핑 규칙이 생성됩니다.
  • 다음 채널 중 하나는 OpenAPI 정의 리소스를 제공합니다.

    • 사용 가능한 경로의 파일 이름
    • URL 형식 - toolbox는 지정된 주소에서 다운로드하려고 시도합니다.
    • stdin 표준 입력 스트림에서 읽습니다.

1.1. 3scale에서 OpenAPI 문서 가져오기를 위한 명령줄 옵션

3scale CLI(명령줄 인터페이스)는 3scale에서 관리할 API를 정의하는 OpenAPI 문서를 가져오기 위한 여러 가지 옵션을 제공합니다. 다음은 openapi 옵션에 대한 도움말 정보입니다.

NAME
    openapi - Import API definition in OpenAPI specification

USAGE
    3scale import openapi [opts] -d <dst> <spec>

DESCRIPTION
    Using an API definition format like OpenAPI, import to your 3scale API

OPTIONS
       -d --destination=<value>                   3scale target instance.
                                                  Format: "http[s]://<authentication>@3scale_domain"

 -t --target_system_name=<value>            Target system name

OPTIONS FOR IMPORT
    -c --config-file=<value>                      3scale toolbox
                                                  configuration file
                                                  (default:
                                                  $HOME/.3scalerc.yaml)
    -h --help                                     show help for this command
    -k --insecure                                 Proceed and operate even
                                                  for server connections
                                                  otherwise considered
                                                  insecure
    -v --version                                  Prints the version of this
                                                  command