

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

# Buat rute untuk HTTP APIs di API Gateway
<a name="http-api-develop-routes"></a>

Merutekan permintaan API yang masuk langsung ke sumber daya backend. Rute terdiri dari dua bagian: metode HTTP dan jalur sumber daya—misalnya,. `GET /pets` Anda dapat menentukan metode HTTP spesifik untuk rute Anda. Atau, Anda dapat menggunakan `ANY` metode untuk mencocokkan semua metode yang belum Anda tetapkan untuk sumber daya. Anda dapat membuat `$default` rute yang bertindak sebagai tangkapan semua untuk permintaan yang tidak cocok dengan rute lain.

**catatan**  
API Gateway menerjemahkan parameter permintaan yang disandikan URL sebelum meneruskannya ke integrasi backend Anda.

## Bekerja dengan variabel jalur
<a name="http-api-routes-path-variables"></a>

Anda dapat menggunakan variabel jalur di rute API HTTP.

Misalnya, `GET /pets/{petID}` rute menangkap `GET` permintaan yang dikirimkan klien. `https://api-id.execute-api.us-east-2.amazonaws.com/pets/6` 

*Variabel jalur serakah* menangkap semua sumber daya anak dari suatu rute. Untuk membuat variabel jalur serakah, tambahkan `+` ke nama variabel—misalnya,. `{proxy+}` Variabel jalur serakah harus berada di ujung jalur sumber daya.

## Bekerja dengan parameter string kueri
<a name="http-api-routes-query-string-parameters"></a>

Secara default, API Gateway mengirimkan parameter string kueri ke integrasi backend Anda jika mereka disertakan dalam permintaan ke API HTTP.

Misalnya, ketika klien mengirim permintaan ke`https://api-id.execute-api.us-east-2.amazonaws.com/pets?id=4&type=dog`, parameter string kueri `?id=4&type=dog` dikirim ke integrasi Anda.

## Bekerja dengan `$default` rute
<a name="http-api-develop-routes.default"></a>

`$default`Rute menangkap permintaan yang tidak secara eksplisit cocok dengan rute lain di API Anda.

Saat `$default` rute menerima permintaan, API Gateway mengirimkan jalur permintaan lengkap ke integrasi. Misalnya, Anda dapat membuat API hanya dengan `$default` rute dan mengintegrasikannya pada `ANY` metode dengan titik akhir `https://petstore-demo-endpoint.execute-api.com` HTTP. Saat Anda mengirim permintaan ke`https://api-id.execute-api.us-east-2.amazonaws.com/store/checkout`, API Gateway mengirimkan permintaan ke`https://petstore-demo-endpoint.execute-api.com/store/checkout`.

Untuk mempelajari lebih lanjut tentang integrasi HTTP, lihat[Buat integrasi proxy HTTP untuk HTTP APIs](http-api-develop-integrations-http.md).

## Permintaan API perutean
<a name="http-api-develop-routes.evaluation"></a>

Saat klien mengirim permintaan API, API Gateway terlebih dahulu menentukan [tahap](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-stages.html) mana yang akan merutekan permintaan tersebut. Jika permintaan secara eksplisit cocok dengan tahapan, API Gateway mengirimkan permintaan ke tahap tersebut. Jika tidak ada tahap yang sepenuhnya cocok dengan permintaan, API Gateway mengirimkan permintaan ke `$default` panggung. Jika tidak ada `$default` tahap, maka API kembali `{"message":"Not Found"}` dan tidak menghasilkan CloudWatch log.

Setelah memilih tahapan, API Gateway memilih rute. API Gateway memilih rute dengan kecocokan paling spesifik, menggunakan prioritas berikut:

1. Pertandingan penuh untuk rute dan metode.

1. Cocokkan rute dan metode dengan variabel jalur serakah (`{proxy+}`).

1. `$default`Rute.

Jika tidak ada rute yang cocok dengan permintaan, API Gateway `{"message":"Not Found"}` akan kembali ke klien.

Misalnya, pertimbangkan API dengan `$default` tahapan dan contoh rute berikut:

1. `GET /pets/dog/1`

1. `GET /pets/dog/{id}`

1. `GET /pets/{proxy+}`

1. `ANY /{proxy+}`

1. `$default`

   Tabel berikut merangkum cara API Gateway merutekan permintaan ke rute contoh.


| Permintaan | Rute yang dipilih | Penjelasan | 
| --- | --- | --- | 
|  `GET https://api-id.execute-api.region.amazonaws.com/pets/dog/1`  |  `GET /pets/dog/1`  |  Permintaan sepenuhnya cocok dengan rute statis ini.  | 
|  `GET https://api-id.execute-api.region.amazonaws.com/pets/dog/2`  |  `GET /pets/dog/{id}`  |  Permintaan sepenuhnya cocok dengan rute ini.  | 
|  `GET https://api-id.execute-api.region.amazonaws.com/pets/cat/1`  |  `GET /pets/{proxy+}`  |  Permintaan tidak sepenuhnya cocok dengan rute. Rute dengan `GET` metode dan variabel jalur serakah menangkap permintaan ini.  | 
| `POST https://api-id.execute-api.region.amazonaws.com/test/5` | `ANY /{proxy+}` |  `ANY`Metode ini cocok dengan semua metode yang belum Anda tetapkan untuk rute. Rute dengan variabel jalur serakah memiliki prioritas lebih tinggi daripada `$default` rute.  | 