Establezca la propiedad basePath de OpenAPI - Amazon API Gateway

Establezca la propiedad basePath de OpenAPI

En OpenAPI 2.0, puede utilizar la propiedad basePath 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.0, basePath ya no es una propiedad de nivel superior. En su lugar, API Gateway utiliza una variable de servidor como una convención. La característica Import API proporciona las mismas opciones para interpretar la ruta base durante la importación. La ruta base se identifica como se indica a continuación:

  • Si la API no contiene ninguna variable basePath, la característica Import API comprueba la cadena server.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 el server.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.