Esportazione di un'API REST da API Gateway - 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à.

Esportazione di un'API REST da API Gateway

Dopo aver creato e configurato un'API REST in API Gateway tramite la console API Gateway o in un altro modo, puoi esportarla in un file OpenAPI usando l'API di esportazione di API Gateway integrata nel servizio di controllo di Amazon API Gateway. Per utilizzare l'API di Gateway Amazon API, è necessario firmare le richieste API. Per ulteriori informazioni sulla firma delle richieste, consulta Signing AWS API requests nella IAM User Guide. Puoi scegliere di includere le estensioni di integrazione di API Gateway, nonché le estensioni Postman, nel file di definizione OpenAPI esportato.

Nota

Quando esporti l'API utilizzando il AWS CLI, assicurati di includere il parametro extensions come mostrato nell'esempio seguente, per assicurarti che l'x-amazon-apigateway-request-validatorestensione sia inclusa:

aws apigateway get-export --parameters extensions='apigateway' --rest-api-id abcdefg123 --stage-name dev --export-type swagger latestswagger2.json

Non puoi esportare un'API se i suoi payload non sono di tipo application/json. Se ci provi, verrà restituita una risposta di errore che indica che non è stato possibile trovare i modelli di corpo JSON.

Richiesta di esportazione di un'API REST

Con l'API Export, puoi esportare un'API REST esistente inviando una richiesta GET, specificando l' to-be-exported API come parte dei percorsi URL. L'URL della richiesta ha il formato seguente:

OpenAPI 3.0
https://<host>/restapis/<restapi_id>/stages/<stage_name>/exports/oas30
OpenAPI 2.0
https://<host>/restapis/<restapi_id>/stages/<stage_name>/exports/swagger

Puoi aggiungere la stringa di query extensions per specificare se includere le estensioni API Gateway (con il valore integration) o le estensioni Postman (con il valore postman).

Inoltre, puoi impostare l'intestazione Accept su application/json o application/yaml per ricevere l'output della definizione API rispettivamente in formato JSON o YAML.

Per ulteriori informazioni sull'invio di richieste GET utilizzando l'API API Gateway Export, vedere GetExport.

Nota

Se definisci modelli nell'API, questi devono essere per il tipo di contenuto "application/json" perché API Gateway possa esportare il modello. In caso contrario, API Gateway genera un'eccezione con un messaggio di errore che indica che sono stati trovati solo modelli di corpo non JSON.

I modelli devono contenere proprietà oppure possono essere definiti come tipo JSONSchema specifico.

Download della definizione OpenAPI dell'API REST in JSON

Per esportare e scaricare un'API REST nelle definizioni OpenAPI in formato JSON:

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30 Host: apigateway.<region>.amazonaws.com Accept: application/json
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger Host: apigateway.<region>.amazonaws.com Accept: application/json

Qui <region> può essere, ad esempio, us-east-1. Per tutte le regioni in cui è disponibile API Gateway, consulta Regioni ed endpoint.

Download della definizione OpenAPI dell'API REST in YAML

Per esportare e scaricare un'API REST nelle definizioni OpenAPI in formato YAML:

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30 Host: apigateway.<region>.amazonaws.com Accept: application/yaml
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger Host: apigateway.<region>.amazonaws.com Accept: application/yaml

Download della definizione OpenAPI dell'API REST con estensioni Postman in JSON

Per esportare e scaricare un'API REST nelle definizioni OpenAPI con Postman in formato JSON:

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30?extensions=postman Host: apigateway.<region>.amazonaws.com Accept: application/json
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger?extensions=postman Host: apigateway.<region>.amazonaws.com Accept: application/json

Download della definizione OpenAPI dell'API REST con l'integrazione di API Gateway in YAML

Per esportare e scaricare un'API REST nelle definizioni OpenAPI con l'integrazione di API Gateway in formato YAML:

OpenAPI 3.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/oas30?extensions=integrations Host: apigateway.<region>.amazonaws.com Accept: application/yaml
OpenAPI 2.0
GET /restapis/<restapi_id>/stages/<stage_name>/exports/swagger?extensions=integrations Host: apigateway.<region>.amazonaws.com Accept: application/yaml

Esportazione di un'API REST tramite la console API Gateway

Dopo aver distribuito l'API REST in una fase, puoi procedere all'esportazione dell'API nella fase in un file OpenAPI usando la console API Gateway.

Nel riquadro Fasi della console Gateway API, scegli Operazioni fase, Esporta.

Esportazione di un'API REST tramite la console API Gateway

Specifica un valore in Tipo di specifica API, Formato ed Estensioni per scaricare la definizione OpenAPI dell'API.