

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

# 在 API Gateway 中調用 REST API
<a name="how-to-call-api"></a>

若要呼叫已部署的 API，用戶端會將請求提交至 API Gateway 元件服務的 URL 以執行 API (也稱為 `execute-api`)。

REST API 的基本 URL 格式如下所示：

```
https://{{api-id}}.execute-api.{{region}}.amazonaws.com/{{stage}}/
```

其中 {{api-id}} 是 API 識別碼，{{region}} 是 AWS 區域，而 {{stage}} 是 API 部署的階段名稱。

**重要**  
在您可以叫用 API 之前，您必須先在 API Gateway 中部署 API。如需有關部署 API 的指示，請參閱[在 API Gateway 中部署 REST API](how-to-deploy-api.md)。

**Topics**
+ [取得 API 的調用 URL](#apigateway-how-to-call-rest-api)
+ [呼叫 API](#apigateway-call-api)
+ [使用 API Gateway 主控台來測試 REST API 方法](how-to-test-method.md)
+ [使用由 API Gateway 產生的 Java 軟體開發套件來執行 REST API](how-to-call-apigateway-generated-java-sdk.md)
+ [使用由 API Gateway 為 REST API 產生的 Android 軟體開發套件](how-to-generate-sdk-android.md)
+ [使用 API Gateway 為 REST API 所產生的 JavaScript 軟體開發套件](how-to-generate-sdk-javascript.md)
+ [使用由 API Gateway 為 REST API 產生的 Ruby 軟體開發套件](how-to-call-sdk-ruby.md)
+ [在 Objective-C 或 Swift 中使用 API Gateway 為 REST API 產生的 iOS 軟體開發套件](how-to-generate-sdk-ios.md)

## 取得 API 的調用 URL
<a name="apigateway-how-to-call-rest-api"></a>

您可以使用主控台 AWS CLI，或匯出的 OpenAPI 定義來取得 API 的調用 URL。

### 使用主控台取得 API 的調用 URL
<a name="apigateway-obtain-url-console"></a>

下列程序顯示如何在 REST API 主控台取得 API 的調用 URL。

**使用 REST API 主控台取得 API 的調用 URL**

1. 在以下網址登入 API Gateway 主控台：[https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)。

1. 選擇部署的 API。

1. 從主導覽窗格選擇**階段**。

1. 在**階段詳細資訊**下，選擇複製圖示以複製 API 的調用 URL。

   此 URL 適用於 API 的根資源。  
![在建立 REST API 之後，主控台會顯示 API 的調用 URL。](http://docs.aws.amazon.com/zh_tw/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. 若要取得 API 中另一個資源的 API 調用 URL，請展開次要導覽窗格下的階段，然後選擇某個方法。

1. 選擇複製圖示以複製 API 的資源層級調用 URL。  
![REST API 的資源層級 URL 位於階段的次要導覽窗格下。](http://docs.aws.amazon.com/zh_tw/apigateway/latest/developerguide/images/resource-level-invoke-url.png)

#### 使用 AWS CLI 取得 API 的調用 URL
<a name="apigateway-obtain-url-cli"></a>

下列程序顯示如何使用 AWS CLI 取得 API 的調用 URL。

**使用 AWS CLI 取得 API 的調用 URL**

1. 使用下列命令以取得 `rest-api-id`。此命令會傳回您區域中的所有 `rest-api-id` 值。如需詳細資訊，請參閱 [get-rest-apis](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-rest-apis.html)。

   ```
   aws apigateway get-rest-apis
   ```

1. 將範例 `rest-api-id` 取代為您的 `rest-api-id`，將範例 {{{stage-name}}} 取代為您的 {{{stage-name}}}，並將 {{{region}}} 取代為您的區域。

   ```
   https://{{{restapi_id}}}.execute-api.{{{region}}}.amazonaws.com/{{{stage_name}}}/
   ```

##### 使用 API 的匯出 OpenAPI 定義檔以取得 API 的調用 URL
<a name="apigateway-obtain-url-openapi"></a>

您也可以合併 API 之已匯出 OpenAPI 定義檔的 `host` 與 `basePath` 欄位，藉以建構根 URL。如需有關如何匯出 API 的指示，請參閱 [從 API Gateway 匯出 REST API](api-gateway-export-api.md)。

## 呼叫 API
<a name="apigateway-call-api"></a>

您可以使用瀏覽器、curl 或其他應用程式 (例如 [Postman](https://www.postman.com/)) 呼叫已部署的 API。

此外，您可以使用 API Gateway 主控台來測試 API 呼叫。測試時會使用 API Gateway 的 `TestInvoke` 功能，其允許在部署 API 之前進行 API 測試。如需更多詳細資訊，請參閱 [使用 API Gateway 主控台來測試 REST API 方法](how-to-test-method.md)。

**注意**  
引動過程 URL 中的查詢字串參數值不能包含 `%%`。

### 使用 Web 瀏覽器調用 API
<a name="apigateway-call-api-brower"></a>

如果您的 API 允許匿名存取，您可以使用任何 Web 瀏覽器來調用任何 `GET` 方法。在瀏覽器的位址列中輸入完整的調用 URL。

對於其他方法或任何需要驗證的呼叫，您必須指定承載或簽署請求。您可以使用其中一個 AWS 軟體開發套件，在 HTML 頁面或用戶端應用程式後方的指令碼中處理這些作業。

#### 使用 curl 調用 API
<a name="apigateway-call-api-curl"></a>

您可以使用終端機中的 [curl](https://curl.se/) 等工具來呼叫 API。下列範例 curl 命令會在 API `prod` 階段的 `getUsers` 資源上調用 GET 方法。

------
#### [ Linux or Macintosh ]

```
curl -X GET 'https://{{b123abcde4}}.execute-api.{{us-west-2}}.amazonaws.com/prod/getUsers'
```

------
#### [ Windows ]

```
curl -X GET "https://{{b123abcde4}}.execute-api.{{us-west-2}}.amazonaws.com/prod/getUsers"
```

------