View a markdown version of this page

OpenAPI basePath 속성 설정 - Amazon API Gateway

OpenAPI basePath 속성 설정

OpenAPI 2.0에서 basePath 속성을 사용하여 paths 속성에 정의된 각 경로 앞에 하나 이상의 경로 파트를 제공할 수 있습니다. API Gateway에 리소스 경로를 표시할 여러 방법이 있기 때문에 Import API 기능은 가져오기 과정에서 basePath 속성을 해석하기 위한 옵션(무시, 앞에 추가, 분할)을 제공합니다.

OpenAPI 3.0에서, basePath는 더 이상 상위 수준 속성이 아닙니다. 대신 API Gateway는 서버 변수를 규칙으로 사용합니다. Import API 기능은 가져오기 중에 기본 경로를 해석하기 위한 동일한 옵션을 제공합니다. 기본 경로는 다음과 같이 식별됩니다.

  • API에 basePath 변수가 없을 경우 Import API 기능은 server.url 문자열을 확인하여 "/" 위의 경로를 포함하는지 확인합니다. 포함할 경우 이 경로가 기본 경로로 사용됩니다.

  • API에 basePath 변수가 한 개만 있을 경우 Import API 기능은 server.url에 참조되지 않았더라도 이 변수를 기본 경로로 사용합니다.

  • API에 basePath 변수가 여러 개 있을 경우 Import API 기능은 첫 번째 변수만 기본 경로로 사용합니다.

무시

OpenAPI 파일에서 basePath 값이 /a/b/c이고, paths 속성에 /e 및 /f가 포함된 경우 다음 POST 또는 PUT 요청은

POST /restapis?mode=import&basepath=ignore

PUT /restapis/api_id?basepath=ignore

API에 다음 리소스를 생성합니다.

  • /

  • /e

  • /f

그 결과 basePath는 존재하지 않는 것처럼 처리되고, 선언된 모든 API 리소스가 호스트를 기준으로 제공됩니다. 예를 들어, 프로덕션 단계를 참조하는 Base Path 및 Stage 값을 포함하지 않는 API 매핑이 포함된 사용자 지정 도메인 이름이 있는 경우 이 옵션을 사용할 수 있습니다.

참고

API Gateway는 정의 파일에 명시적으로 선언되지 않은 경우에도 자동으로 루트 리소스를 생성합니다.

지정하지 않을 경우 basePath는 기본적으로 ignore를 사용합니다.

Prepend

OpenAPI 파일에서 basePath 값이 /a/b/c이고, paths 속성에 /e 및 /f가 포함된 경우 다음 POST 또는 PUT 요청은

POST /restapis?mode=import&basepath=prepend

PUT /restapis/api_id?basepath=prepend

API에 다음 리소스를 생성합니다.

  • /

  • /a

  • /a/b

  • /a/b/c

  • /a/b/c/e

  • /a/b/c/f

그 결과 basePath는 (메서드 없는) 추가 리소스 지정으로 처리되고 이 리소스를 선언된 리소스 세트에 추가합니다. 예를 들어, 다른 팀이 API의 다른 파트를 담당하고 있고 basePath가 각 팀의 API 파트에 대한 경로 위치를 참조할 수 있는 경우 이 옵션을 사용할 수 있습니다.

참고

API Gateway는 정의에 명시적으로 선언되지 않은 경우에도 자동으로 중간 리소스를 생성합니다.

분할

OpenAPI 파일에서 basePath 값이 /a/b/c이고, paths 속성에 /e 및 /f가 포함된 경우 다음 POST 또는 PUT 요청은

POST /restapis?mode=import&basepath=split

PUT /restapis/api_id?basepath=split

API에 다음 리소스를 생성합니다.

  • /

  • /b

  • /b/c

  • /b/c/e

  • /b/c/f

그 결과 가장 위의 경로 파트 /a를 리소스 경로의 시작으로 처리하고 API내에 추가 리소스(메서드 없음)를 생성합니다. 예를 들어, a가 API 일부로 공개할 단계 이름인 경우 이 옵션을 사용할 수 있습니다.