Siapkan validasi permintaan dasar di API Gateway - APIGerbang Amazon

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

Siapkan validasi permintaan dasar di API Gateway

Bagian ini menunjukkan cara menyiapkan validasi permintaan untuk API Gateway menggunakan konsol AWS CLI, dan API definisi Terbuka.

Mengatur validasi permintaan menggunakan konsol API Gateway

Anda dapat menggunakan konsol API Gateway untuk memvalidasi permintaan dengan memilih salah satu dari tiga validator untuk permintaan: API

  • Validasi tubuh.

  • Validasi parameter string kueri dan header.

  • Validasi isi, parameter string kueri, dan header.

Saat Anda menerapkan salah satu validator pada API metode, konsol API Gateway menambahkan validator ke peta. API RequestValidators

Untuk mengikuti tutorial ini, Anda akan menggunakan AWS CloudFormation template untuk membuat API Gateway API yang tidak lengkap. Ini API memiliki /validator sumber daya dengan GET dan POST metode. Kedua metode terintegrasi dengan http://petstore-demo-endpoint.execute-api.com/petstore/pets HTTP titik akhir. Anda akan mengkonfigurasi dua jenis validasi permintaan:

  • Dalam GET metode ini, Anda akan mengkonfigurasi validasi permintaan untuk parameter string URL kueri.

  • Dalam POST metode ini, Anda akan mengonfigurasi validasi permintaan untuk badan permintaan.

Ini akan memungkinkan hanya API panggilan tertentu untuk melewati keAPI.

Unduh dan unzip template pembuatan aplikasi untuk AWS CloudFormation. Anda akan menggunakan template ini untuk membuat yang tidak lengkapAPI. Anda akan menyelesaikan langkah-langkah lainnya di konsol API Gateway.

Untuk membuat AWS CloudFormation tumpukan
  1. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Pilih Buat tumpukan kemudian pilih Dengan sumber daya baru (standar).

  3. Untuk Tentukan templat, pilih Unggah file templat.

  4. Pilih template yang Anda unduh.

  5. Pilih Selanjutnya.

  6. Untuk nama Stack, masukkan request-validation-tutorial-console dan kemudian pilih Berikutnya.

  7. Untuk opsi Konfigurasi tumpukan, pilih Berikutnya.

  8. Untuk Kemampuan, akui bahwa AWS CloudFormation dapat membuat IAM sumber daya di akun Anda.

  9. Pilih Kirim.

AWS CloudFormation ketentuan sumber daya yang ditentukan dalam template. Diperlukan beberapa menit untuk menyelesaikan penyediaan sumber daya Anda. Ketika status AWS CloudFormation tumpukan Anda adalah CREATE_ COMPLETE, Anda siap untuk melanjutkan ke langkah berikutnya.

Untuk memilih yang baru dibuat API
  1. Pilih request-validation-tutorial-console tumpukan yang baru dibuat.

  2. Pilih Sumber daya.

  3. Di bawah ID Fisik, pilih AndaAPI. Tautan ini akan mengarahkan Anda ke konsol API Gateway.

Sebelum Anda memodifikasi GET dan POST metode, Anda harus membuat model.

Untuk membuat model
  1. Model diperlukan untuk menggunakan validasi permintaan pada badan permintaan yang masuk. Untuk membuat model, di panel navigasi utama, pilih Model.

  2. Pilih Buat model.

  3. Untuk Nama, masukkan PetStoreModel.

  4. Untuk Jenis Konten, masukkanapplication/json. Jika tidak ada jenis konten yang cocok ditemukan, validasi permintaan tidak dilakukan. Untuk menggunakan model yang sama terlepas dari jenis konten, masukkan$default.

  5. Untuk Deskripsi, masukkan My PetStore Model sebagai deskripsi model.

  6. Untuk skema Model, tempelkan model berikut ke editor kode, dan pilih Buat.

    { "type" : "object", "required" : [ "name", "price", "type" ], "properties" : { "id" : { "type" : "integer" }, "type" : { "type" : "string", "enum" : [ "dog", "cat", "fish" ] }, "name" : { "type" : "string" }, "price" : { "type" : "number", "minimum" : 25.0, "maximum" : 500.0 } } }

Untuk informasi lebih lanjut tentang model, lihatModel data untuk REST APIs.

Untuk mengonfigurasi validasi permintaan untuk suatu metode GET
  1. Di panel navigasi utama, pilih Resources, lalu pilih GETmetode.

  2. Pada tab Permintaan metode, di bawah Pengaturan permintaan metode, pilih Edit.

  3. Untuk validator Permintaan, pilih Validasi parameter string kueri dan header.

  4. Di bawah parameter string URL kueri, lakukan hal berikut:

    1. Pilih Tambahkan string kueri.

    2. Untuk Nama, masukkan petType.

    3. Aktifkan Diperlukan.

    4. Tetap caching dimatikan.

  5. Pilih Simpan.

  6. Pada tab Permintaan integrasi, di bawah Pengaturan permintaan integrasi, pilih Edit.

  7. Di bawah parameter string URL kueri, lakukan hal berikut:

    1. Pilih Tambahkan string kueri.

    2. Untuk Nama, masukkan petType.

    3. Untuk Dipetakan dari, masukkanmethod.request.querystring.petType. Ini memetakan petType ke jenis hewan peliharaan.

      Untuk informasi selengkapnya tentang pemetaan data, lihat tutorial pemetaan data.

    4. Tetap caching dimatikan.

  8. Pilih Simpan.

Untuk menguji validasi permintaan untuk metode GET
  1. Pilih tab Uji. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

  2. Untuk string Kueri, masukkanpetType=dog, lalu pilih Uji.

  3. Tes metode akan kembali 200 OK dan daftar anjing-anjingnya.

    Untuk informasi tentang cara mengubah data keluaran ini, lihat tutorial pemetaan data.

  4. Hapus petType=dog dan pilih Uji.

  5. Tes metode akan mengembalikan 400 kesalahan dengan pesan kesalahan berikut:

    { "message": "Missing required request parameters: [petType]" }
Untuk mengkonfigurasi validasi permintaan untuk metode POST
  1. Di panel navigasi utama, pilih Resources, lalu pilih POSTmetode.

  2. Pada tab Permintaan metode, di bawah Pengaturan permintaan metode, pilih Edit.

  3. Untuk validator Permintaan, pilih Validasi isi.

  4. Di bawah badan Permintaan, pilih Tambah model.

  5. Untuk jenis Konten, masukkanapplication/json, dan kemudian untuk Model, pilih PetStoreModel.

  6. Pilih Simpan.

Untuk menguji validasi permintaan untuk metode POST
  1. Pilih tab Uji. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

  2. Untuk Request body paste berikut ini ke editor kode:

    { "id": 2, "name": "Bella", "type": "dog", "price": 400 }

    Pilih Uji.

  3. Tes metode akan kembali 200 OK dan pesan sukses.

  4. Untuk Request body paste berikut ini ke editor kode:

    { "id": 2, "name": "Bella", "type": "dog", "price": 4000 }

    Pilih Uji.

  5. Tes metode akan mengembalikan 400 kesalahan dengan pesan kesalahan berikut:

    { "message": "Invalid request body" }

    Di bagian bawah log pengujian, alasan untuk badan permintaan yang tidak valid dikembalikan. Dalam hal ini, harga hewan peliharaan berada di luar maksimum yang ditentukan dalam model.

Untuk menghapus AWS CloudFormation tumpukan
  1. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Pilih AWS CloudFormation tumpukan Anda.

  3. Pilih Hapus dan kemudian konfirmasikan pilihan Anda.

Langkah selanjutnya

Siapkan validasi permintaan dasar menggunakan AWS CLI

Anda dapat membuat validator untuk menyiapkan validasi permintaan menggunakan. AWS CLI Untuk mengikuti tutorial ini, Anda akan menggunakan AWS CloudFormation template untuk membuat API Gateway API yang tidak lengkap.

catatan

Ini bukan AWS CloudFormation template yang sama dengan tutorial konsol.

Menggunakan /validator sumber daya pra-ekspos, Anda akan membuat GET dan POST metode. Kedua metode akan terintegrasi dengan http://petstore-demo-endpoint.execute-api.com/petstore/pets HTTP titik akhir. Anda akan mengkonfigurasi dua validasi permintaan berikut:

  • Pada GET metode ini, Anda akan membuat params-only validator untuk memvalidasi parameter string URL kueri.

  • Pada POST metode ini, Anda akan membuat body-only validator untuk memvalidasi badan permintaan.

Ini akan memungkinkan hanya API panggilan tertentu untuk melewati keAPI.

Untuk membuat AWS CloudFormation tumpukan

Unduh dan unzip template pembuatan aplikasi untuk AWS CloudFormation.

Untuk menyelesaikan tutorial berikut, Anda memerlukan AWS Command Line Interface (AWS CLI) versi 2.

Untuk perintah panjang, karakter escape (\) digunakan untuk memisahkan perintah menjadi beberapa baris.

catatan

Di Windows, beberapa CLI perintah Bash yang biasa Anda gunakan (sepertizip) tidak didukung oleh terminal bawaan sistem operasi. Untuk mendapatkan versi terintegrasi Windows dari Ubuntu dan Bash, instal Windows Subsystem untuk Linux. Contoh CLI perintah dalam panduan ini menggunakan pemformatan Linux. Perintah yang menyertakan JSON dokumen inline harus diformat ulang jika Anda menggunakan Windows. CLI

  1. Gunakan perintah berikut untuk membuat AWS CloudFormation tumpukan.

    aws cloudformation create-stack --stack-name request-validation-tutorial-cli --template-body file://request-validation-tutorial-cli.zip --capabilities CAPABILITY_NAMED_IAM
  2. AWS CloudFormation ketentuan sumber daya yang ditentukan dalam template. Diperlukan beberapa menit untuk menyelesaikan penyediaan sumber daya Anda. Gunakan perintah berikut untuk melihat status AWS CloudFormation tumpukan Anda.

    aws cloudformation describe-stacks --stack-name request-validation-tutorial-cli
  3. Ketika status AWS CloudFormation tumpukan AndaStackStatus: "CREATE_COMPLETE", gunakan perintah berikut untuk mengambil nilai output yang relevan untuk langkah-langkah masa depan.

    aws cloudformation describe-stacks --stack-name request-validation-tutorial-cli --query "Stacks[*].Outputs[*].{OutputKey: OutputKey, OutputValue: OutputValue, Description: Description}"

    Nilai output adalah sebagai berikut:

    • ApiId, yang merupakan ID untukAPI. Untuk tutorial ini, API ID adalahabc123.

    • ResourceId, yang merupakan ID untuk sumber daya validator tempat GET dan POST metode diekspos. Untuk tutorial ini, ID Sumber Daya adalah efg456

Untuk membuat validator permintaan dan mengimpor model
  1. Validator diperlukan untuk menggunakan validasi permintaan dengan file. AWS CLI Gunakan perintah berikut untuk membuat validator yang hanya memvalidasi parameter permintaan.

    aws apigateway create-request-validator --rest-api-id abc123 \ --no-validate-request-body \ --validate-request-parameters \ --name params-only

    Perhatikan ID params-only validator.

  2. Gunakan perintah berikut untuk membuat validator yang hanya memvalidasi badan permintaan.

    aws apigateway create-request-validator --rest-api-id abc123 \ --validate-request-body \ --no-validate-request-parameters \ --name body-only

    Perhatikan ID body-only validator.

  3. Model diperlukan untuk menggunakan validasi permintaan pada badan permintaan yang masuk. Gunakan perintah berikut untuk mengimpor model.

    aws apigateway create-model --rest-api-id abc123 --name PetStoreModel --description 'My PetStore Model' --content-type 'application/json' --schema '{"type": "object", "required" : [ "name", "price", "type" ], "properties" : { "id" : {"type" : "integer"},"type" : {"type" : "string", "enum" : [ "dog", "cat", "fish" ]},"name" : { "type" : "string"},"price" : {"type" : "number","minimum" : 25.0, "maximum" : 500.0}}}}'

    Jika tidak ada jenis konten yang cocok ditemukan, validasi permintaan tidak dilakukan. Untuk menggunakan model yang sama terlepas dari jenis konten, tentukan $default sebagai kunci.

Untuk membuat GET dan POST metode
  1. Gunakan perintah berikut untuk menambahkan GET HTTP metode pada /validate sumber daya. Perintah ini menciptakan GET metode, menambahkan params-only validator, dan menetapkan string query petType sesuai kebutuhan.

    aws apigateway put-method --rest-api-id abc123 \ --resource-id efg456 \ --http-method GET \ --authorization-type "NONE" \ --request-validator-id aaa111 \ --request-parameters "method.request.querystring.petType=true"

    Gunakan perintah berikut untuk menambahkan POST HTTP metode pada /validate sumber daya. Perintah ini membuat POST metode, menambahkan body-only validator, dan melampirkan model ke validator body-only.

    aws apigateway put-method --rest-api-id abc123 \ --resource-id efg456 \ --http-method POST \ --authorization-type "NONE" \ --request-validator-id bbb222 \ --request-models 'application/json'=PetStoreModel
  2. Gunakan perintah berikut untuk mengatur 200 OK respons GET /validate metode.

    aws apigateway put-method-response --rest-api-id abc123 \ --resource-id efg456 \ --http-method GET \ --status-code 200

    Gunakan perintah berikut untuk mengatur 200 OK respons POST /validate metode.

    aws apigateway put-method-response --rest-api-id abc123 \ --resource-id efg456 \ --http-method POST \ --status-code 200
  3. Gunakan perintah berikut untuk mengatur Integration dengan HTTP titik akhir tertentu untuk GET /validation metode ini.

    aws apigateway put-integration --rest-api-id abc123 \ --resource-id efg456 \ --http-method GET \ --type HTTP \ --integration-http-method GET \ --request-parameters '{"integration.request.querystring.type" : "method.request.querystring.petType"}' \ --uri 'http://petstore-demo-endpoint.execute-api.com/petstore/pets'

    Gunakan perintah berikut untuk mengatur Integration dengan HTTP titik akhir tertentu untuk POST /validation metode ini.

    aws apigateway put-integration --rest-api-id abc123 \ --resource-id efg456 \ --http-method POST \ --type HTTP \ --integration-http-method GET \ --uri 'http://petstore-demo-endpoint.execute-api.com/petstore/pets'
  4. Gunakan perintah berikut untuk menyiapkan respons integrasi untuk GET /validation metode ini.

    aws apigateway put-integration-response --rest-api-id abc123 \ --resource-id efg456\ --http-method GET \ --status-code 200 \ --selection-pattern ""

    Gunakan perintah berikut untuk menyiapkan respons integrasi untuk POST /validation metode ini.

    aws apigateway put-integration-response --rest-api-id abc123 \ --resource-id efg456 \ --http-method POST \ --status-code 200 \ --selection-pattern ""
Untuk menguji API
  1. Untuk menguji GET metode, yang akan melakukan validasi permintaan untuk string query, gunakan perintah berikut:

    aws apigateway test-invoke-method --rest-api-id abc123 \ --resource-id efg456 \ --http-method GET \ --path-with-query-string '/validate?petType=dog'

    Hasilnya akan mengembalikan daftar 200 OK dan anjing-anjingnya.

  2. Gunakan perintah berikut untuk menguji tanpa menyertakan string kueri petType

    aws apigateway test-invoke-method --rest-api-id abc123 \ --resource-id efg456 \ --http-method GET

    Hasilnya akan mengembalikan 400 kesalahan.

  3. Untuk menguji POST metode, yang akan melakukan validasi permintaan untuk badan permintaan, gunakan perintah berikut:

    aws apigateway test-invoke-method --rest-api-id abc123 \ --resource-id efg456 \ --http-method POST \ --body '{"id": 1, "name": "bella", "type": "dog", "price" : 400 }'

    Hasilnya akan mengembalikan pesan 200 OK dan sukses.

  4. Gunakan perintah berikut untuk menguji menggunakan badan yang tidak valid.

    aws apigateway test-invoke-method --rest-api-id abc123 \ --resource-id efg456 \ --http-method POST \ --body '{"id": 1, "name": "bella", "type": "dog", "price" : 1000 }'

    Hasilnya akan mengembalikan 400 kesalahan, karena harga anjingnya melebihi harga maksimum yang ditentukan oleh model.

Untuk menghapus AWS CloudFormation tumpukan
  • Gunakan perintah berikut untuk menghapus AWS CloudFormation sumber daya Anda.

    aws cloudformation delete-stack --stack-name request-validation-tutorial-cli

Siapkan validasi permintaan dasar menggunakan definisi Terbuka API

Anda dapat mendeklarasikan validator permintaan di API tingkat dengan menentukan satu set x-amazon-apigateway-request-validator. requestValidator objek objek di x-amazon-apigateway-request-validator objek peta untuk memilih bagian permintaan mana yang akan divalidasi. Dalam contoh Open API definition, ada dua validator:

  • allvalidator yang memvalidasi tubuh, menggunakan model RequestBodyModel data, dan parameter.

    Model RequestBodyModel data mengharuskan JSON objek input berisiname,type, dan price properti. nameProperti dapat berupa string apa pun, type harus menjadi salah satu bidang enumerasi yang ditentukan (["dog", "cat", "fish"]), dan price harus berkisar antara 25 dan 500. idParameter tidak diperlukan.

  • param-onlyyang hanya memvalidasi parameter.

Untuk mengubah validator permintaan pada semua metodeAPI, tentukan x-amazon-apigateway-requestproperti -validator properti pada API tingkat definisi TerbukaAPI. Dalam contoh API definisi terbuka, all validator digunakan pada semua API metode, kecuali jika diganti. Saat menggunakan model untuk memvalidasi isi, jika tidak ada jenis konten yang cocok ditemukan, validasi permintaan tidak dilakukan. Untuk menggunakan model yang sama terlepas dari jenis konten, tentukan $default sebagai kunci.

Untuk mengaktifkan validator permintaan pada metode individual, tentukan x-amazon-apigateway-request-validator properti di tingkat metode. Dalam contoh, Open API definition, param-only validator menimpa all validator pada metode. GET

Untuk mengimpor API contoh Buka ke API Gateway, lihat petunjuk berikut ke Impor API Regional ke API Gateway atau keImpor API yang dioptimalkan tepi ke API Gateway.

OpenAPI 3.0
{ "openapi" : "3.0.1", "info" : { "title" : "ReqValidators Sample", "version" : "1.0.0" }, "servers" : [ { "url" : "/{basePath}", "variables" : { "basePath" : { "default" : "/v1" } } } ], "paths" : { "/validation" : { "get" : { "parameters" : [ { "name" : "q1", "in" : "query", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "200 response", "headers" : { "test-method-response-header" : { "schema" : { "type" : "string" } } }, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ArrayOfError" } } } } }, "x-amazon-apigateway-request-validator" : "params-only", "x-amazon-apigateway-integration" : { "httpMethod" : "GET", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" }, "responseTemplates" : { "application/xml" : "xml 400 response template", "application/json" : "json 400 response template" } }, "2\\d{2}" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.querystring.type" : "method.request.querystring.q1" }, "passthroughBehavior" : "when_no_match", "type" : "http" } }, "post" : { "parameters" : [ { "name" : "h1", "in" : "header", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RequestBodyModel" } } }, "required" : true }, "responses" : { "200" : { "description" : "200 response", "headers" : { "test-method-response-header" : { "schema" : { "type" : "string" } } }, "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ArrayOfError" } } } } }, "x-amazon-apigateway-request-validator" : "all", "x-amazon-apigateway-integration" : { "httpMethod" : "POST", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" }, "responseTemplates" : { "application/xml" : "xml 400 response template", "application/json" : "json 400 response template" } }, "2\\d{2}" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.custom_h1" : "method.request.header.h1" }, "passthroughBehavior" : "when_no_match", "type" : "http" } } } }, "components" : { "schemas" : { "RequestBodyModel" : { "required" : [ "name", "price", "type" ], "type" : "object", "properties" : { "id" : { "type" : "integer" }, "type" : { "type" : "string", "enum" : [ "dog", "cat", "fish" ] }, "name" : { "type" : "string" }, "price" : { "maximum" : 500.0, "minimum" : 25.0, "type" : "number" } } }, "ArrayOfError" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Error" } }, "Error" : { "type" : "object" } } }, "x-amazon-apigateway-request-validators" : { "all" : { "validateRequestParameters" : true, "validateRequestBody" : true }, "params-only" : { "validateRequestParameters" : true, "validateRequestBody" : false } } }
OpenAPI 2.0
{ "swagger" : "2.0", "info" : { "version" : "1.0.0", "title" : "ReqValidators Sample" }, "basePath" : "/v1", "schemes" : [ "https" ], "paths" : { "/validation" : { "get" : { "produces" : [ "application/json", "application/xml" ], "parameters" : [ { "name" : "q1", "in" : "query", "required" : true, "type" : "string" } ], "responses" : { "200" : { "description" : "200 response", "schema" : { "$ref" : "#/definitions/ArrayOfError" }, "headers" : { "test-method-response-header" : { "type" : "string" } } } }, "x-amazon-apigateway-request-validator" : "params-only", "x-amazon-apigateway-integration" : { "httpMethod" : "GET", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" }, "responseTemplates" : { "application/xml" : "xml 400 response template", "application/json" : "json 400 response template" } }, "2\\d{2}" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.querystring.type" : "method.request.querystring.q1" }, "passthroughBehavior" : "when_no_match", "type" : "http" } }, "post" : { "consumes" : [ "application/json" ], "produces" : [ "application/json", "application/xml" ], "parameters" : [ { "name" : "h1", "in" : "header", "required" : true, "type" : "string" }, { "in" : "body", "name" : "RequestBodyModel", "required" : true, "schema" : { "$ref" : "#/definitions/RequestBodyModel" } } ], "responses" : { "200" : { "description" : "200 response", "schema" : { "$ref" : "#/definitions/ArrayOfError" }, "headers" : { "test-method-response-header" : { "type" : "string" } } } }, "x-amazon-apigateway-request-validator" : "all", "x-amazon-apigateway-integration" : { "httpMethod" : "POST", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" }, "responseTemplates" : { "application/xml" : "xml 400 response template", "application/json" : "json 400 response template" } }, "2\\d{2}" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.custom_h1" : "method.request.header.h1" }, "passthroughBehavior" : "when_no_match", "type" : "http" } } } }, "definitions" : { "RequestBodyModel" : { "type" : "object", "required" : [ "name", "price", "type" ], "properties" : { "id" : { "type" : "integer" }, "type" : { "type" : "string", "enum" : [ "dog", "cat", "fish" ] }, "name" : { "type" : "string" }, "price" : { "type" : "number", "minimum" : 25.0, "maximum" : 500.0 } } }, "ArrayOfError" : { "type" : "array", "items" : { "$ref" : "#/definitions/Error" } }, "Error" : { "type" : "object" } }, "x-amazon-apigateway-request-validators" : { "all" : { "validateRequestParameters" : true, "validateRequestBody" : true }, "params-only" : { "validateRequestParameters" : true, "validateRequestBody" : false } } }