OpenAPI basePath
속성 설정
OpenAPI 2.0basePath
속성을 사용하여 paths
속성에 정의된 각 경로 앞에 하나 이상의 경로 파트를 제공할 수 있습니다. API Gateway에 리소스 경로를 표시할 여러 방법이 있기 때문에 Import API 기능은 가져오기 과정에서 basePath
속성을 해석하기 위한 옵션(무시, 앞에 추가, 분할)을 제공합니다.
OpenAPI 3.0basePath
는 더 이상 상위 수준 속성이 아닙니다. 대신 API Gateway는 서버 변수
-
API에
basePath
변수가 없을 경우 Import API 기능은server.url
문자열을 확인하여"/"
위의 경로를 포함하는지 확인합니다. 포함할 경우 이 경로가 기본 경로로 사용됩니다. -
API에
basePath
변수가 한 개만 있을 경우 Import API 기능은server.url
에 참조되지 않았더라도 이 변수를 기본 경로로 사용합니다. -
API에
basePath
변수가 여러 개 있을 경우 Import API 기능은 첫 번째 변수만 기본 경로로 사용합니다.
Ignore
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 일부로 공개할 단계 이름인 경우 이 옵션을 사용할 수 있습니다.