Menentukan null
dalam template respons sebagai berikut:
aws apigateway put-integration-response \
--region "$region" \
--rest-api-id "$api_id" \
--resource-id "$resource_id" \
--http-method GET \
--status-code 200 \
--response-templates '{"application/json":null}'
menghasilkan kesalahan:
Parameter validation failed:
Invalid type for parameter responseTemplates.application/json, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'>
Jika saya mengganti null
dengan "Empty"
cli menerima parameter:
--response-templates '{"application/json":"Empty"}'
Ketika AWS Console membuat metode yang sama dan saya menanyakannya, nilainya ditampilkan sebagai null
. Sepertinya saya harus dapat mengaturnya ke nilai yang sama melalui aws-cli.
aws-cli/v1.9.2
Solusi melewati string kosong alih-alih null
, yaitu --response-templates '{"application/json":""}'
, dan Anda akan mendapatkan
{
"statusCode": "200",
"responseTemplates": {
"application/json": null
}
}
Terima kasih.
Terima kasih @quiver dan @ehammond . Saya khawatir "solusi" sebenarnya adalah cara yang benar untuk melakukannya. Faktanya adalah bahwa layanan apigateway dimodelkan sebagai mengharapkan string sebagai input, jadi semua AWS SDK bekerja dengan cara ini, dan apigateway tampaknya menerjemahkan string kosong sebagai null di bawah tenda. Agaknya, cerita yang sama juga terjadi di AWS Console.
Komentar yang paling membantu
Solusi melewati string kosong alih-alih
null
, yaitu--response-templates '{"application/json":""}'
, dan Anda akan mendapatkan