Impostare la proprietà openAPI basePath - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Impostare la proprietà openAPI basePath

In OpenAPI 2.0 è possibile usare la proprietà basePath per specificare una o più parti di percorso che precedono ogni percorso definito nella proprietà paths. Poiché API Gateway include diversi modi per esprimere il percorso di una risorsa, la caratteristica Importa API offre queste opzioni per interpretare la proprietà basePath durante l'importazione: ignore, prepend e split.

In OpenAPI 3.0 basePath non è più una proprietà di primo livello. Al contrario, API Gateway usa una variabile server come convenzione. La funzionalità Import API (Importa API) offre le stesse opzioni per interpretare il percorso di base durante l'importazione. Il percorso di base può essere identificato in questo modo:

  • Se l'API non contiene variabili basePath, la funzionalità Import API (Importa API) controlla la stringa server.url per verificare se contiene un percorso dopo "/". Se sì, il percorso viene usato come percorso di base.

  • Se l'API contiene solo una variabile basePath, la funzionalità Import API (Importa API) la usa come percorso di base, anche se alla variabile non viene fatto riferimento in server.url.

  • Se l'API contiene più variabili basePath, la funzionalità Import API (Importa API) usa solo la prima come percorso di base.

ignora

Se nel file OpenAPI il valore di basePath è /a/b/c e la proprietà paths contiene /e e /f, la richiesta POST o PUT seguente:

POST /restapis?mode=import&basepath=ignore

PUT /restapis/api_id?basepath=ignore

porterà le seguenti risorse nell'API:

  • /

  • /e

  • /f

Il punto è trattare il basePath come se non fosse presente e tutte le risorse API dichiarate vengono servite in relazione all'host. Questo può essere utile, ad esempio, quando hai un nome di dominio personalizzato con una mappatura API che non include un Percorso di base e un valore della Fase che si riferisce alla fase di produzione.

Nota

API Gateway creerà automaticamente una risorsa root, anche se non è stato dichiarato in modo esplicito nel file di definizione.

In assenza di specifiche, basePath seleziona ignore per impostazione predefinita.

Metti come prefisso

Se nel file OpenAPI il valore di basePath è /a/b/c e la proprietà paths contiene /e e /f, la richiesta POST o PUT seguente:

POST /restapis?mode=import&basepath=prepend

PUT /restapis/api_id?basepath=prepend

porterà le seguenti risorse nell'API:

  • /

  • /a

  • /a/b

  • /a/b/c

  • /a/b/c/e

  • /a/b/c/f

L'effetto è trattare il basePath come se specificasse risorse aggiuntive (senza metodo) e aggiungerle al set di risorse dichiarato. Questo può essere utile, ad esempio, quando team diversi sono responsabili di parti diverse di un'API e il basePath potrebbe riferirsi al percorso della parte dell'API di ogni team.

Nota

API Gateway creerà automaticamente le risorse intermedie, anche se non sono dichiarate in modo esplicito nella definizione.

Split

Se nel file OpenAPI il valore di basePath è /a/b/c e la proprietà paths contiene /e e /f, la richiesta POST o PUT seguente:

POST /restapis?mode=import&basepath=split

PUT /restapis/api_id?basepath=split

porterà le seguenti risorse nell'API:

  • /

  • /b

  • /b/c

  • /b/c/e

  • /b/c/f

L'effetto è trattare la parte più alta del percorso, /a, come l'inizio del percorso di ogni risorsa e creare risorse aggiuntive (senza metodo) all'interno dell'API stessa. Questo potrebbe, ad esempio, essere utilizzato quando a è il nome di una fase che vuoi esporre come parte dell'API.