Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan respons metode di API Gateway
Respon API metode merangkum output dari permintaan API metode yang akan diterima klien. Data output mencakup kode HTTP status, beberapa header, dan mungkin badan.
Dengan integrasi non-proxy, parameter dan badan respons yang ditentukan dapat dipetakan dari data respons integrasi terkait atau dapat diberikan nilai statis tertentu sesuai dengan pemetaan. Pemetaan ini ditentukan dalam respons integrasi. Pemetaan dapat menjadi transformasi identik yang melewati respons integrasi melalui apa adanya.
Dengan integrasi proxy, API Gateway meneruskan respons backend ke respons metode secara otomatis. Tidak perlu bagi Anda untuk mengatur respons API metode. Namun, dengan integrasi proxy Lambda, fungsi Lambda harus mengembalikan hasil format keluaran ini agar API Gateway berhasil memetakan respons integrasi ke respons metode.
Secara terprogram, pengaturan respons metode sama dengan membuat MethodResponsesumber daya API Gateway dan mengatur properti statusCode, responseParameters, dan. responseModels
Saat menyetel kode status untuk suatu API metode, Anda harus memilih salah satu sebagai default untuk menangani respons integrasi kode status yang tidak terduga. Masuk akal untuk ditetapkan 500
sebagai default karena ini sama dengan mentransmisikan respons yang tidak dipetakan sebagai kesalahan sisi server. Untuk alasan instruksional, konsol API Gateway menetapkan 200
respons sebagai default. Tetapi Anda dapat mengatur ulang ke 500
respons.
Untuk mengatur respons metode, Anda harus telah membuat permintaan metode.
Mengatur kode status respons metode
Kode status dari respon metode mendefinisikan jenis respon. Misalnya, tanggapan 200, 400, dan 500 menunjukkan keberhasilan, kesalahan sisi klien dan respons kesalahan sisi server, masing-masing.
Untuk menyiapkan kode status respons metode, setel statusCode
properti ke kode HTTP status. AWS CLI Perintah berikut menciptakan respon metode200
.
aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200
Siapkan parameter respons metode
Parameter respons metode menentukan header mana yang diterima klien sebagai respons terhadap permintaan metode terkait. Parameter respons juga menentukan target yang API Gateway memetakan parameter respons integrasi, sesuai dengan pemetaan yang ditentukan dalam respons integrasi API metode.
Untuk mengatur parameter respons metode, tambahkan ke responseParameters
peta pasangan MethodResponse
kunci-nilai format. "{parameter-name}":"{boolean}"
CLIPerintah berikut menunjukkan contoh pengaturan my-header
header.
aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200 \ --response-parameters method.response.header.my-header=false
Siapkan model respons metode
Model respons metode mendefinisikan format badan respons metode. Sebelum menyiapkan model respons, Anda harus terlebih dahulu membuat model di API Gateway. Untuk melakukannya, Anda dapat memanggil create-model
perintah. Contoh berikut menunjukkan cara membuat PetStorePet
model untuk menggambarkan tubuh respons terhadap permintaan GET /pets/{petId}
metode.
aws apigateway create-model \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --content-type application/json \ --name PetStorePet \ --schema '{ \ "$schema": "http://json-schema.org/draft-04/schema#", \ "title": "PetStorePet", \ "type": "object", \ "properties": { \ "id": { "type": "number" }, \ "type": { "type": "string" }, \ "price": { "type": "number" } \ } \ }'
Hasilnya dibuat sebagai Model
sumber daya API Gateway.
Untuk mengatur model respons metode untuk menentukan format payload, tambahkan pasangan nilai kunci “application/json”:”PetStorePet” ke peta sumber daya. requestModels
MethodResponse
AWS CLI Perintah berikut put-method-response
menunjukkan bagaimana hal ini dilakukan:
aws apigateway put-method-response \ --region us-west-2 \ --rest-api-id vaz7da96z6 \ --resource-id 6sxz2j \ --http-method GET \ --status-code 200 \ --response-parameters method.response.header.my-header=false \ --response-models '{"application/json":"PetStorePet"}'
Menyiapkan model respons metode diperlukan saat Anda membuat yang diketik dengan kuat SDK untuk. API Ini memastikan bahwa output dilemparkan ke kelas yang sesuai di Java atau Objective-C. Dalam kasus lain, pengaturan model adalah opsional.