Importazione di un file OpenAPI per aggiornare una definizione API esistente - 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à.

Importazione di un file OpenAPI per aggiornare una definizione API esistente

Puoi importare le definizioni API solo per aggiornare un'API esistente, senza cambiare la configurazione del suo endpoint, le fasi, le variabili di fase o i riferimenti alle chiavi API.

L' import-to-update operazione può avvenire in due modalità: unione o sovrascrittura.

Quando un'API (A) viene unita a un'altra (B), l'API risultante conserva le definizioni sia di A sia di B se le due API non condividono definizioni in conflitto. Quando si verificano dei conflitti, le definizioni di metodo dell'API di unione (A) sostituisce le definizioni di metodo corrispondenti dell'API unita (B). Ad esempio, supponiamo che B abbia dichiarato i seguenti metodi per restituire le risposte 200 e 206:

GET /a POST /a

e A dichiari il metodo seguente per restituire le risposte 200 e 400:

GET /a

Quando A viene unita a B, l'API risultante produrrà i seguenti metodi:

GET /a

che restituisce le risposte 200 e 400 e

POST /a

che restituisce le risposte 200 e 206.

Unire un'API è utile quando hai scomposto le definizioni API esterne in molteplici parti più piccole e vuoi applicare le modifiche solo a una parte per volta. Ad esempio, questo può succedere se più team sono responsabili di parti diverse di un'API e hanno modifiche disponibili a tariffe diverse. In questo modo, gli item dell'API esistente che non vengono esplicitamente indicati nella definizione importata saranno tralasciati.

Quando un'API (A) sovrascrive un'altra API (B), l'API risultante prende le definizioni dell'API di sovrascrittura (A). Sovrascrivere un'API è utile quando una definizione API esterna ne contiene la definizione completa. In questo modo, gli item dell'API esistente che non vengono esplicitamente indicati nella definizione importata saranno eliminati.

Per unire un'API, invia una richiesta PUT a https://apigateway.<region>.amazonaws.com/restapis/<restapi_id>?mode=merge. Il valore del parametro percorso restapi_id specifica l'API con cui la definizione API fornita si unirà.

Il seguente frammento di codice mostra un esempio della richiesta PUT di unione di una definizione API OpenAPI in JSON, come payload, con l'API specificata già presente in API Gateway.

PUT /restapis/<restapi_id>?mode=merge Host:apigateway.<region>.amazonaws.com Content-Type: application/json Content-Length: ... An OpenAPI API definition in JSON

L'operazione di aggiornamento dell'unione consiste nell'unione di due definizioni API complete. Per una modifica piccola e incrementale, puoi utilizzare l'operazione di aggiornamento risorsa.

Per sovrascrivere un'API, invia una richiesta PUT a https://apigateway.<region>.amazonaws.com/restapis/<restapi_id>?mode=overwrite. Il parametro percorso restapi_id specifica l'API che verrà sovrascritta dalle definizioni API fornite.

Il seguente frammento di codice mostra un esempio di richiesta di sovrascrittura con il payload di una definizione OpenAPI in formato JSON:

PUT /restapis/<restapi_id>?mode=overwrite Host:apigateway.<region>.amazonaws.com Content-Type: application/json Content-Length: ... An OpenAPI API definition in JSON

Se il parametro di query mode non viene specificato, si procede con l'unione.

Nota

Le operazioni PUT sono idempotenti, ma non atomiche. Ciò significa che se si verifica un errore prima della fine dell'elaborazione, l'API può risultare in uno stato non valido. Tuttavia, ripetendo l'operazione con successo, l'API potrà essere nello stesso stato finale che avrebbe avuto se la prima operazione fosse riuscita.