Ekspor REST API dari API Gateway - Amazon API Gateway

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ekspor REST API dari API Gateway

Setelah Anda membuat dan mengonfigurasi REST API di API Gateway, menggunakan konsol API Gateway atau sebaliknya, Anda dapat mengekspornya ke file OpenAPI menggunakan API Gateway Export API, yang merupakan bagian dari Amazon API Gateway Control Service. Untuk menggunakan API Gateway Export API, Anda harus menandatangani permintaan API Anda. Untuk informasi selengkapnya tentang permintaan penandatanganan, lihat Menandatangani permintaan AWS API di Panduan Pengguna IAM. Anda memiliki opsi untuk menyertakan ekstensi integrasi API Gateway, serta ekstensi Postman, dalam file definisi OpenAPI yang diekspor.

catatan

Saat mengekspor API menggunakanAWS CLI, pastikan untuk menyertakan parameter ekstensi seperti yang ditunjukkan pada contoh berikut, untuk memastikan bahwa x-amazon-apigateway-request-validator ekstensi disertakan:

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

Anda tidak dapat mengekspor API jika payloadnya bukan dari application/json jenisnya. Jika Anda mencoba, Anda akan mendapatkan respons kesalahan yang menyatakan bahwa model tubuh JSON tidak ditemukan.

Permintaan untuk mengekspor REST API

Dengan Export API, Anda mengekspor REST API yang ada dengan mengirimkan permintaan GET, menetapkan to-be-exported API sebagai bagian dari jalur URL. URL permintaan adalah dari format berikut:

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

Anda dapat menambahkan string extensions kueri untuk menentukan apakah akan menyertakan ekstensi API Gateway (dengan integration nilai) atau ekstensi Postman (dengan postman nilai).

Selain itu, Anda dapat mengatur Accept header ke application/json atau application/yaml untuk menerima output definisi API masing-masing dalam format JSON atau YAMAL.

Untuk informasi selengkapnya tentang mengirimkan permintaan GET menggunakan API Gateway Export API, lihat. GetExport

catatan

Jika Anda mendefinisikan model di API Anda, model tersebut harus untuk jenis konten “application/json” agar API Gateway dapat mengekspor model. Jika tidak, API Gateway melempar pengecualian dengan pesan kesalahan “Hanya menemukan model tubuh non-JSON untuk...”.

Model harus berisi properti atau didefinisikan sebagai jenis JsonSchema tertentu.

Unduh definisi REST API OpenAPI dalam JSON

Untuk mengekspor dan mengunduh REST API dalam definisi OpenAPI dalam format 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

Di sini, <region> bisa jadi, misalnya,us-east-1. Untuk semua wilayah di mana API Gateway tersedia, lihat Wilayah dan Titik Akhir

Unduh definisi REST API OpenAPI dalam YAMAL

Untuk mengekspor dan mengunduh REST API dalam definisi OpenAPI dalam format YAMAL:

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

Unduh definisi OpenAPI REST API dengan ekstensi Postman di JSON

Untuk mengekspor dan mengunduh REST API dalam definisi OpenAPI dengan format Postman 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

Unduh definisi OpenAPI REST API dengan integrasi API Gateway di YAMAL

Untuk mengekspor dan mengunduh REST API dalam definisi OpenAPI dengan integrasi API Gateway dalam format YAMAL:

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

Ekspor REST API menggunakan konsol API Gateway

Setelah menerapkan REST API ke tahap, Anda dapat melanjutkan untuk mengekspor API di tahap ke file OpenAPI menggunakan konsol API Gateway.

Di panel Tahapan di konsol API Gateway, pilih Tindakan tahap, Ekspor.


                      Ekspor REST API menggunakan konsol API Gateway

Tentukan jenis spesifikasi API, Format, dan Ekstensi untuk mengunduh definisi OpenAPI API Anda.