

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# API Gateway 中的 REST API 的請求驗證
<a name="api-gateway-method-request-validation"></a>

 您可以先設定 API Gateway 執行 API 請求的基本驗證，再繼續進行整合請求。驗證失敗時，API Gateway 會立即讓請求失敗、將 400 錯誤回應傳回給發起人，並在 CloudWatch Logs 中發布驗證結果。這樣可減少不必要的後端呼叫。更重要的是，它可讓您專注於應用程式特定的驗證努力。您可以驗證請求內文，方法為驗證必要的請求參數是否有效且為非 null 值，或指定模型結構描述進行更複雜的資料驗證。

**Topics**
+ [API Gateway 中的基本請求驗證概觀](#api-gateway-request-validation-basic-definitions)
+ [REST API 的資料模型](models-mappings-models.md)
+ [在 API Gateway 中設定基本請求驗證](api-gateway-request-validation-set-up.md)
+ [AWS CloudFormation 具有基本請求驗證的範例 API 範本](api-gateway-request-validation-sample-cloudformation.md)

## API Gateway 中的基本請求驗證概觀
<a name="api-gateway-request-validation-basic-definitions"></a>

 API Gateway 可以執行基本請求驗證，以便您可以專注於後端的應用程式特定驗證。針對驗證，API Gateway 會驗證下列任一或兩個條件：
+ 是否包含 URI 中的必要請求參數、查詢字串以及傳入請求的標頭，而且不是空白。API Gateway 只會檢查參數是否存在，而不會檢查類型或格式。
+  適用的請求承載會遵守方法中，針對所指內容類型設定的 [JSON 結構描述](https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04)請求。如果找不到相符的內容類型，則不會執行請求驗證。若無論內容類型為何都要使用相同的模型，請將資料模型的內容類型設定為 `$default`。

若要開啟驗證，您必須在[請求驗證程式](https://docs.aws.amazon.com/apigateway/latest/api/API_RequestValidator.html)中指定驗證規則、將驗證程式新增至 API 的[請求驗證程式對應](https://docs.aws.amazon.com/apigateway/latest/api/API_RequestValidator.html)，並將驗證程式指派給個別 API 方法。

**注意**  
請求內文驗證和 [API Gateway 中 REST API 沒有映射範本時，承載的方法請求行為](integration-passthrough-behaviors.md) 是兩個獨立的主題。當請求承載沒有相符的模型結構描述時，您可以選擇傳遞或封鎖原始承載。如需詳細資訊，請參閱[API Gateway 中 REST API 沒有映射範本時，承載的方法請求行為](integration-passthrough-behaviors.md)。