Establezca la propiedad basePath
de OpenAPI
En OpenAPI 2.0basePath
para proporcionar una o varias partes de la ruta que preceden a cada una de las rutas definidas en la propiedad paths
. Como API Gateway tiene varias maneras de expresar la ruta de un recurso, la característica Importar API ofrece las siguientes opciones para interpretar la propiedad basePath
durante una importación: "ignore", "prepend" y "split".
En OpenAPI 3.0basePath
ya no es una propiedad de nivel superior. En su lugar, API Gateway utiliza una variable de servidor
-
Si la API no contiene ninguna variable
basePath
, la característica Import API comprueba la cadenaserver.url
para ver si contiene una ruta más allá"/"
. Si es así, esa ruta se utiliza como la base de la ruta. -
Si la API contiene una única variable
basePath
, la característica Import API la utiliza como la ruta base, incluso si no se hace referencia en elserver.url
. -
Si la API contiene varias variables
basePath
, la característica Import API utiliza únicamente la primera como la ruta base.
Ignore
Si el archivo de OpenAPI tiene un valor basePath
de /a/b/c
y la propiedad paths
contiene /e
y /f
, la siguiente solicitud POST
o PUT
:
POST /restapis?mode=import&basepath=ignore
PUT /restapis/
api_id
?basepath=ignore
produce los siguientes recursos en la API:
-
/
-
/e
-
/f
El efecto consiste en tratar basePath
como si no estuviera presente, y todos los recursos de la API declarados se sirven en relación con el host. Esto puede utilizarse, por ejemplo, cuando disponga de un nombre de dominio personalizado con una asignación de API que no incluya un valor Base Path ni Stage que haga referencia a la etapa de producción.
nota
API Gateway crea automáticamente un recurso raíz, aunque no se haya declarado explícitamente en el archivo de definición.
Cuando no se especifica, basePath
toma ignore
como valor predeterminado.
Anexar
Si el archivo de OpenAPI tiene un valor basePath
de /a/b/c
y la propiedad paths
contiene /e
y /f
, la siguiente solicitud POST
o PUT
:
POST /restapis?mode=import&basepath=prepend
PUT /restapis/
api_id
?basepath=prepend
produce los siguientes recursos en la API:
-
/
-
/a
-
/a/b
-
/a/b/c
-
/a/b/c/e
-
/a/b/c/f
El efecto consiste en tratar basePath
como si especificara recursos adicionales (sin métodos) y añadiera estos recursos al conjunto de recursos declarados. Esto puede utilizarse, por ejemplo, cuando diferentes equipos sean responsables de diferentes partes de una API y basePath
pueda hacer referencia a la ubicación de ruta de la parte de la API de cada equipo.
nota
API Gateway crea automáticamente los recursos intermedios, aunque no se hayan declarado explícitamente en la definición.
Split
Si el archivo de OpenAPI tiene un valor basePath
de /a/b/c
y la propiedad paths
contiene /e
y /f
, la siguiente solicitud POST
o PUT
:
POST /restapis?mode=import&basepath=split
PUT /restapis/
api_id
?basepath=split
produce los siguientes recursos en la API:
-
/
-
/b
-
/b/c
-
/b/c/e
-
/b/c/f
El efecto consiste en tratar la parte de la ruta superior, /a
, como el principio de la ruta de cada recurso y crear recursos adicionales (sin método) dentro de la propia API. Esto podría usarse, por ejemplo, cuando a
es un nombre de etapa que desee exponer como parte de la API.