

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

# Siapkan permintaan metode di API Gateway
<a name="api-gateway-method-settings-method-request"></a>

Menyiapkan permintaan metode melibatkan melakukan tugas-tugas berikut, setelah membuat [RestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)sumber daya:

1.  Membuat API baru atau memilih entitas [Sumber Daya](https://docs.aws.amazon.com/apigateway/latest/api/API_Resource.html) API yang ada. 

1.  Membuat sumber daya [Metode](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) API yang merupakan kata kerja HTTP spesifik pada API `Resource` baru atau yang dipilih. Tugas ini dapat dibagi lagi menjadi sub tugas berikut:
   +  Menambahkan metode HTTP ke permintaan metode
   +  Mengkonfigurasi parameter permintaan
   +  Mendefinisikan model untuk badan permintaan
   +  Memberlakukan skema otorisasi
   +  Mengaktifkan validasi permintaan 

Anda dapat melakukan tugas-tugas ini menggunakan metode berikut: 
+  [Konsol API Gateway](how-to-set-up-method-using-console.md#how-to-method-settings-callers-console)
+  AWS CLI [perintah ([create-resource dan put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-resource.html))](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html)
+  AWS [Fungsi SDK (misalnya, di Node.js, [createResource](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/APIGateway.html#createResource-property) dan putMethod)](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/APIGateway.html#putMethod-property)
+  [API Gateway REST API ([sumber daya: buat dan metode:put](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateResource.html)).](https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html)

**Topics**
+ [Siapkan sumber daya API](#setup-method-resources)
+ [Siapkan metode HTTP](#setup-method-add-http-method)
+ [Siapkan parameter permintaan metode](#setup-method-request-parameters)
+ [Siapkan model permintaan metode](#setup-method-request-model)
+ [Siapkan otorisasi permintaan metode](#setup-method-request-authorization)
+ [Siapkan validasi permintaan metode](#setup-method-request-validation)

## Siapkan sumber daya API
<a name="setup-method-resources"></a>

Di API Gateway API, Anda mengekspos sumber daya yang dapat dialamatkan sebagai pohon entitas [Sumber Daya](https://docs.aws.amazon.com/apigateway/latest/api/API_GetResources.html) API, dengan sumber daya root (`/`) di bagian atas hierarki. Sumber daya root relatif terhadap URL dasar API, yang terdiri dari titik akhir API dan nama panggung. Di konsol API Gateway, URI dasar ini disebut sebagai **URI Invoke** dan ditampilkan di editor tahap API setelah API diterapkan. 

Titik akhir API dapat berupa nama host default atau nama domain khusus. Nama host default adalah dari format berikut:

```
{api-id}.execute-api.{region}.amazonaws.com
```

Dalam format ini, ini *\$1api-id\$1* mewakili pengenal API yang dihasilkan oleh API Gateway. `{region}`Variabel mewakili AWS Region (misalnya,`us-east-1`) yang Anda pilih saat membuat API. Nama domain kustom adalah nama yang ramah pengguna di bawah domain internet yang valid. Misalnya, jika Anda telah mendaftarkan domain internet`example.com`, salah satu dari `*.example.com` adalah nama domain kustom yang valid. Untuk informasi selengkapnya, lihat [membuat nama domain kustom](how-to-custom-domains.md). 

Untuk [API PetStore sampel](api-gateway-create-api-from-example.md), sumber daya root (`/`) mengekspos toko hewan peliharaan. Sumber `/pets` daya mewakili koleksi hewan peliharaan yang tersedia di toko hewan peliharaan. Ini `/pets/{petId}` mengekspos hewan peliharaan individu dari pengenal yang diberikan ()`petId`. Parameter jalur `{petId}` adalah bagian dari parameter permintaan. 

Untuk menyiapkan sumber daya API, Anda memilih sumber daya yang ada sebagai induknya, lalu membuat sumber daya turunan di bawah sumber daya induk ini. Anda mulai dengan sumber daya root sebagai induk, menambahkan sumber daya ke induk ini, menambahkan sumber daya lain ke sumber daya turunan ini sebagai induk baru, dan seterusnya, ke pengenal induknya. Kemudian Anda menambahkan sumber daya bernama ke induk. 

Perintah [get-resources](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-resources.html) berikut mengambil semua sumber daya API:

```
aws apigateway get-resources --rest-api-id apiId
```

Untuk PetStore contoh API, outputnya terlihat seperti berikut:

```
{
    "items": [
        {
            "path": "/pets", 
            "resourceMethods": {
                "GET": {}
            }, 
            "id": "6sxz2j", 
            "pathPart": "pets", 
            "parentId": "svzr2028x8"
        }, 
        {
            "path": "/pets/{petId}", 
            "resourceMethods": {
                "GET": {}
            }, 
            "id": "rjkmth", 
            "pathPart": "{petId}", 
            "parentId": "6sxz2j"
        }, 
        {
            "path": "/", 
            "id": "svzr2028x8"
        }
    ]
}
```

Setiap item mencantumkan pengidentifikasi sumber daya (`id`) dan, kecuali sumber daya root, induk langsungnya (`parentId`), serta nama sumber daya (`pathPart`). Sumber daya root istimewa karena tidak memiliki induk. Setelah memilih sumber daya sebagai induk, gunakan perintah berikut untuk menambahkan sumber daya anak: 

```
aws apigateway create-resource --rest-api-id apiId \
    --parent-id parentId \
    --path-part resourceName
```

Misalnya, untuk menambahkan makanan hewan untuk dijual di PetStore situs web, gunakan perintah berikut:

```
aws apigateway create-resource --rest-api-id a1b2c3 \
    --parent-id svzr2028x8 \
    --path-part food
```

Outputnya akan terlihat seperti berikut:

```
{
    "path": "/food", 
    "pathPart": "food", 
    "id": "xdsvhp", 
    "parentId": "svzr2028x8"
}
```

### Menggunakan sumber daya proxy untuk merampingkan penyiapan API
<a name="api-gateway-proxy-resource"></a>

Seiring pertumbuhan bisnis, PetStore pemilik dapat memutuskan untuk menambahkan makanan, mainan, dan barang-barang terkait hewan peliharaan lainnya untuk dijual. Untuk mendukung ini, Anda dapat menambahkan`/food`,`/toys`, dan sumber daya lainnya di bawah sumber daya root. Di bawah setiap kategori penjualan, Anda mungkin juga ingin menambahkan lebih banyak sumber daya, seperti`/food/{type}/{item}`,`/toys/{type}/{item}`, dll. Ini bisa membosankan. Jika Anda memutuskan untuk menambahkan lapisan tengah `{subtype}` ke jalur sumber daya untuk mengubah hierarki jalur menjadi`/food/{type}/{subtype}/{item}`,`/toys/{type}/{subtype}/{item}`, dll., Perubahan akan merusak pengaturan API yang ada. Untuk menghindari hal ini, Anda dapat menggunakan [sumber daya proxy](api-gateway-set-up-simple-proxy.md) API Gateway untuk mengekspos sekumpulan sumber daya API sekaligus.

API Gateway mendefinisikan sumber daya proxy sebagai placeholder untuk sumber daya yang akan ditentukan saat permintaan dikirimkan. Sumber daya proxy diekspresikan oleh parameter jalur khusus`{proxy+}`, sering disebut sebagai parameter jalur serakah. `+`Tanda tersebut menunjukkan sumber daya anak mana pun yang ditambahkan padanya. `/parent/{proxy+}`Placeholder adalah singkatan dari sumber daya apa pun yang cocok dengan pola jalur. `/parent/*` Anda dapat menggunakan string apa pun untuk nama parameter jalur serakah.

Perintah [create-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-resource.html) berikut membuat sumber daya proxy di bawah root (): `/{proxy+}`

```
aws apigateway create-resource --rest-api-id apiId \
    --parent-id rootResourceId \
    --path-part {proxy+}
```

Outputnya akan terlihat seperti berikut: 

```
{
    "path": "/{proxy+}", 
    "pathPart": "{proxy+}", 
    "id": "234jdr", 
    "parentId": "svzr2028x8"
}
```

Untuk contoh `PetStore` API, Anda dapat menggunakan `/{proxy+}` untuk mewakili `/pets` dan`/pets/{petId}`. Sumber daya proxy ini juga dapat mereferensikan sumber daya lain (yang ada atau to-be-added)`/food/{type}/{item}`, seperti`/toys/{type}/{item}`,, dll., Atau`/food/{type}/{subtype}/{item}`,`/toys/{type}/{subtype}/{item}`, dll. Pengembang backend menentukan hierarki sumber daya dan pengembang klien bertanggung jawab untuk memahaminya. API Gateway hanya meneruskan apa pun yang dikirimkan klien ke backend. 

API dapat memiliki lebih dari satu sumber daya proxy. Misalnya, sumber daya proxy berikut diizinkan dalam API, dengan asumsi `/parent/{proxy+}` bukan induk yang sama dengan. `/parent/{child}/{proxy+}`

```
/{proxy+}
/parent/{proxy+}
/parent/{child}/{proxy+}
```

Ketika sumber daya proxy memiliki saudara kandung non-proxy, sumber daya saudara dikecualikan dari representasi sumber daya proxy. Untuk contoh sebelumnya, `/{proxy+}` mengacu pada sumber daya apa pun di bawah sumber daya root kecuali sumber daya. `/parent[/*]` Dengan kata lain, permintaan metode terhadap sumber daya tertentu lebih diutamakan daripada permintaan metode terhadap sumber daya generik pada tingkat hierarki sumber daya yang sama.

Tabel berikut menunjukkan cara API Gateway merutekan permintaan ke sumber daya berikut untuk `prod` tahap API.

```
ANY /{proxy+}
GET /pets/{proxy+}
GET /pets/dog
```


| Permintaan | Rute yang dipilih | Penjelasan | 
| --- | --- | --- | 
|  `GET https://api-id.execute-api.region.amazonaws.com/prod/pets/dog`  |  `GET /pets/dog`  |  Permintaan sepenuhnya cocok dengan sumber daya ini.  | 
|  `GET https://api-id.execute-api.region.amazonaws.com/prod/pets/cats`  |  `GET /pets/{proxy+}`  |  Variabel jalur `/pets/{proxy+}` serakah menangkap permintaan ini.  | 
|  `GET https://api-id.execute-api.region.amazonaws.com/prod/animals`  |  `GET /{proxy+}`  |  Variabel jalur `/{proxy+}` serakah menangkap permintaan ini.  | 

Sumber daya proxy tidak dapat memiliki sumber daya anak. Sumber daya API apa pun `{proxy+}` setelahnya berlebihan dan ambigu. Sumber daya proxy berikut tidak diizinkan dalam API.

```
/{proxy+}/child
/parent/{proxy+}/{child}
/parent/{child}/{proxy+}/{grandchild+}
```

## Siapkan metode HTTP
<a name="setup-method-add-http-method"></a>

[Permintaan metode API dienkapsulasi oleh sumber daya Metode API Gateway.](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) Untuk mengatur permintaan metode, Anda harus terlebih dahulu membuat instance `Method` sumber daya, menyetel setidaknya metode HTTP dan jenis otorisasi pada metode. 

Terkait erat dengan sumber daya proxy, API Gateway mendukung metode HTTP`ANY`. `ANY`Metode ini mewakili setiap metode HTTP yang akan disediakan pada waktu berjalan. Ini memungkinkan Anda untuk menggunakan penyiapan metode API tunggal untuk semua metode HTTP yang didukung`DELETE`,`GET`,`HEAD`,`OPTIONS`,`PATCH`,`POST`, dan`PUT`. 

Anda dapat mengatur `ANY` metode pada sumber daya non-proxy juga. Menggabungkan `ANY` metode dengan sumber daya proxy, Anda mendapatkan penyiapan metode API tunggal untuk semua metode HTTP yang didukung terhadap sumber daya API apa pun. Selain itu, backend dapat berkembang tanpa merusak pengaturan API yang ada. 

 Sebelum menyiapkan metode API, pertimbangkan siapa yang dapat memanggil metode tersebut. Atur jenis otorisasi sesuai dengan rencana Anda. Untuk akses terbuka, atur ke`NONE`. Untuk menggunakan izin IAM, atur jenis otorisasi ke. `AWS_IAM` Untuk menggunakan fungsi otorisasi Lambda, setel properti ini ke. `CUSTOM` Untuk menggunakan kumpulan pengguna Amazon Cognito, setel jenis otorisasi ke. `COGNITO_USER_POOLS` 

Perintah [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) berikut membuat permintaan metode untuk `ANY` kata kerja menggunakan izin IAM untuk mengontrol aksesnya. 

```
aws apigateway put-method --rest-api-id vaz7da96z6 \
    --resource-id 6sxz2j \
    --http-method ANY \
    --authorization-type AWS_IAM
```

Untuk membuat permintaan metode API dengan jenis otorisasi yang berbeda, lihat[Siapkan otorisasi permintaan metode](#setup-method-request-authorization).

## Siapkan parameter permintaan metode
<a name="setup-method-request-parameters"></a>

Parameter permintaan metode adalah cara bagi klien untuk menyediakan data input atau konteks eksekusi yang diperlukan untuk menyelesaikan permintaan metode. Parameter metode dapat berupa parameter jalur, header, atau parameter string kueri. Sebagai bagian dari pengaturan permintaan metode, Anda harus mendeklarasikan parameter permintaan yang diperlukan agar tersedia untuk klien. Untuk integrasi non-proxy, Anda dapat menerjemahkan parameter permintaan ini ke formulir yang kompatibel dengan persyaratan backend. 

Misalnya, untuk permintaan `GET /pets/{petId}` metode, variabel `{petId}` jalur adalah parameter permintaan yang diperlukan. Anda dapat mendeklarasikan parameter jalur ini saat memanggil `put-method` perintah. AWS CLI Perintah [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) berikut menciptakan metode dengan parameter path yang diperlukan:

```
aws apigateway put-method --rest-api-id vaz7da96z6 \
    --resource-id rjkmth \
    --http-method GET \
    --authorization-type "NONE" \
    --request-parameters method.request.path.petId=true
```

Jika parameter tidak diperlukan, Anda dapat mengaturnya ke `false` dalam`request-parameters`. Misalnya, jika `GET /pets` metode menggunakan parameter string kueri opsional dari`type`, dan parameter header opsional`age`, Anda dapat mendeklarasikannya menggunakan perintah [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) berikut:

```
aws apigateway put-method --rest-api-id vaz7da96z6 \
    --resource-id 6sxz2j \
    --http-method GET \
    --authorization-type "NONE" \
    --request-parameters method.request.querystring.type=false,method.request.header.age=false
```

Alih-alih formulir singkat ini, Anda dapat menggunakan string JSON untuk mengatur nilai`request-parameters`:

```
'{"method.request.querystring.type":false,"method.request.header.age":false}'
```

Dengan pengaturan ini, klien dapat menanyakan hewan peliharaan berdasarkan jenis: 

```
GET /pets?type=dog
```

 Dan klien dapat menanyakan anjing-anjingnya yang masih kecil sebagai berikut:

```
GET /pets?type=dog
age:puppy
```

Untuk informasi tentang cara memetakan parameter permintaan metode ke parameter permintaan integrasi, lihat[Integrasi untuk REST APIs di API Gateway](how-to-integration-settings.md).

## Siapkan model permintaan metode
<a name="setup-method-request-model"></a>

Untuk metode API yang dapat mengambil data input dalam payload, Anda dapat menggunakan model. Sebuah model diekspresikan dalam [skema JSON draft 4](https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04) dan menjelaskan struktur data dari badan permintaan. Dengan model, klien dapat menentukan bagaimana membangun payload permintaan metode sebagai input. Lebih penting lagi, API Gateway menggunakan model untuk [memvalidasi permintaan](api-gateway-method-request-validation.md), [menghasilkan SDK](how-to-generate-sdk.md), dan menginisialisasi template pemetaan untuk menyiapkan integrasi di konsol API Gateway. Untuk informasi tentang cara membuat [model](https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html), lihat [Memahami model data](models-mappings-models.md). 

Tergantung pada jenis konten, payload metode dapat memiliki format yang berbeda. Sebuah model diindeks terhadap jenis media dari muatan yang diterapkan. API Gateway menggunakan header `Content-Type` permintaan untuk menentukan jenis konten. Untuk mengatur model permintaan metode, tambahkan pasangan kunci-nilai `"media-type":"model-name"` format ke `requestModels` peta saat memanggil perintah. AWS CLI `put-method` 

Untuk menggunakan model yang sama terlepas dari jenis konten, tentukan `$default` sebagai kunci.

Misalnya, untuk menyetel model pada payload JSON dari permintaan `POST /pets` metode API PetStore contoh, Anda dapat menggunakan perintah [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) berikut:

```
aws apigateway put-method \
    --rest-api-id vaz7da96z6 \
    --resource-id 6sxz2j \
    --http-method POST \
    --authorization-type "NONE" \
    --request-models '{"application/json":"petModel"}'
```

Di sini, `petModel` adalah nilai `name` properti dari [https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html](https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html)sumber daya yang menggambarkan hewan peliharaan. Definisi skema yang sebenarnya dinyatakan sebagai nilai string JSON dari [https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html#schema](https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html#schema)properti sumber daya. `Model` 

 Di Java, atau SDK lain yang diketik kuat, dari API, data input dilemparkan sebagai `petModel` kelas yang berasal dari definisi skema. Dengan model permintaan, data input dalam SDK yang dihasilkan dilemparkan ke `Empty` kelas, yang berasal dari `Empty` model default. Dalam hal ini, klien tidak dapat membuat instance kelas data yang benar untuk memberikan input yang diperlukan. 



## Siapkan otorisasi permintaan metode
<a name="setup-method-request-authorization"></a>



 Untuk mengontrol siapa yang dapat memanggil metode API, Anda dapat mengonfigurasi [jenis otorisasi](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html#authorizationType) pada metode. Anda dapat menggunakan jenis ini untuk memberlakukan salah satu otorisasi yang didukung, termasuk peran dan kebijakan IAM (`AWS_IAM`), kumpulan pengguna Amazon Cognito ()`COGNITO_USER_POOLS`, atau pemberi otorisasi Lambda (). `CUSTOM`

Untuk menggunakan izin IAM untuk mengotorisasi akses ke metode API, setel properti `authorization-type` input ke. **AWS\$1IAM** Saat Anda menyetel opsi ini, API Gateway memverifikasi tanda tangan pemanggil berdasarkan kredensional pemanggil. Jika pengguna terverifikasi memiliki izin untuk memanggil metode, ia menerima permintaan tersebut. Jika tidak, ia menolak permintaan dan pemanggil menerima respons kesalahan yang tidak sah. Panggilan ke metode tidak berhasil kecuali pemanggil memiliki izin untuk memanggil metode API. Kebijakan IAM berikut memberikan izin kepada pemanggil untuk memanggil metode API apa pun yang dibuat dalam metode yang sama: Akun AWS

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "execute-api:Invoke"
            ],
            "Resource": "arn:aws:execute-api:*:*:*"
        }
    ]
}
```

------

Untuk informasi selengkapnya, lihat [Kontrol akses ke REST API dengan izin IAM](permissions.md).

Saat ini, Anda hanya dapat memberikan kebijakan ini kepada pengguna, grup, dan peran dalam pemilik API Akun AWS. Pengguna dari yang berbeda Akun AWS dapat memanggil metode API hanya jika diizinkan untuk mengambil peran dalam pemilik API Akun AWS dengan izin yang diperlukan untuk memanggil `execute-api:Invoke` tindakan. Untuk informasi tentang izin lintas akun, lihat [Menggunakan Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html). 

Anda dapat menggunakan AWS CLI, AWS SDK, atau klien REST API, seperti [Postman](https://www.postman.com/), yang mengimplementasikan [penandatanganan Signature Version 4 (SigV4)](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html). 

Untuk menggunakan otorisasi Lambda untuk mengotorisasi akses ke metode API, setel properti `authorization-type` input ke `CUSTOM` dan setel properti [https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html#authorizerId](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html#authorizerId)input ke nilai properti dari otorisasi Lambda yang sudah ada. [https://docs.aws.amazon.com/apigateway/latest/api/API_Authorizer.html#id](https://docs.aws.amazon.com/apigateway/latest/api/API_Authorizer.html#id) Authorizer Lambda yang direferensikan dapat dari `TOKEN` tipe atau. `REQUEST` Untuk informasi tentang membuat otorisasi Lambda, lihat. [Gunakan otorisasi API Gateway Lambda](apigateway-use-lambda-authorizer.md)

Untuk menggunakan kumpulan pengguna Amazon Cognito untuk mengotorisasi akses ke metode API, setel properti `authorization-type` input ke `COGNITO_USER_POOLS` dan setel properti [https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html#authorizerId](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html#authorizerId)input ke nilai [https://docs.aws.amazon.com/apigateway/latest/api/API_Authorizer.html#id](https://docs.aws.amazon.com/apigateway/latest/api/API_Authorizer.html#id)properti `COGNITO_USER_POOLS` otorisasi yang telah dibuat. Untuk informasi tentang membuat otorisasi kumpulan pengguna Amazon Cognito, lihat. [Kontrol akses ke REST APIs menggunakan kumpulan pengguna Amazon Cognito sebagai otorisasi](apigateway-integrate-with-cognito.md)

## Siapkan validasi permintaan metode
<a name="setup-method-request-validation"></a>

Anda dapat mengaktifkan validasi permintaan saat menyiapkan permintaan metode API. Anda harus terlebih dahulu membuat [validator permintaan](https://docs.aws.amazon.com/apigateway/latest/api/API_RequestValidator.html). [create-request-validator](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-request-validator.html)Perintah berikut membuat validator permintaan body-only. 

```
aws apigateway create-request-validator \
    --rest-api-id 7zw9uyk9kl \
    --name bodyOnlyValidator \
    --validate-request-body  \
    --no-validate-request-parameters
```

Outputnya akan terlihat seperti berikut:

```
{
    "validateRequestParameters": false, 
    "validateRequestBody": true, 
    "id": "jgpyy6", 
    "name": "bodyOnlyValidator"
}
```

Anda dapat menggunakan validator permintaan ini, untuk menggunakan validasi permintaan sebagai bagian dari pengaturan permintaan metode. Perintah [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) berikut membuat permintaan metode yang mengharuskan badan permintaan masuk untuk mencocokkan `PetModel` dan memiliki dua parameter permintaan yang tidak diperlukan: 

```
aws apigateway put-method \
    --rest-api-id 7zw9uyk9kl \
    --resource-id xdsvhp \
    --http-method PUT \
    --authorization-type "NONE" \
    --request-parameters '{"method.request.querystring.type": false, "method.request.querystring.page":false}' \ 
    --request-models '{"application/json":"petModel"}' \
    --request-validator-id jgpyy6
```

Untuk menyertakan parameter permintaan dalam validasi permintaan, Anda harus mengatur `validateRequestParameters` `true` untuk validator permintaan, dan menetapkan parameter permintaan khusus ke `true` dalam perintah. `put-method`