APIゲートウェイにデプロイされたAPIのコール
APIゲートウェイ・サービスでAPIゲートウェイに以前にデプロイしたAPIをコールする方法を確認します。
APIゲートウェイにAPIをデプロイすると、デプロイ済のAPIをコールできます。
このトピックで説明するcurlコマンドを構築する場合、次を使用して、APIデプロイメントのエンドポイントとしてhttps://<gateway-hostname>/<deployment-path-prefix>
文字列の値をすばやく取得できます:
- コンソール(「ゲートウェイの詳細」ページに移動し、APIデプロイメントのエンドポイントの横にある「コピー」をクリック)。
- API(GetDeployments操作を使用)。
curlの使用
APIゲートウェイにデプロイされているAPIをコールするには:
-
ターミナル・ウィンドウを開き、デプロイされているAPIに適している次のようなcURLコマンドを入力します:
curl -k -X <method> https://<gateway-hostname>/<deployment-path-prefix>/<api-route-path>
ここでは:
<method>
は、デプロイ済のAPIに対して有効なメソッド(たとえば、GET、PUT)です。-
<gateway-hostname>
は、自動的に生成される<gateway-identifier>.apigateway.<region-identifier>.oci.customer-oci.com
フォーマットのドメイン名です。説明は次のとおりです:<gateway-identifier>
は、APIゲートウェイを識別する文字列です。たとえば、lak...sjd
(読みやすくするために省略形)と入力します。-
<region-identifier>
は、APIゲートウェイが作成されたリージョンの識別子です。リージョン別の可用性を参照してください。
たとえば、
lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com
です。コンソールまたはAPIを使用して、
<gateway-hostname>
の値として使用するドメイン名を見つけます。 -
/<deployment-path-prefix>
は、APIデプロイメントの各ルートのパスに追加される接頭辞です。リクエストのデプロイメント・パス接頭辞は次の点に注意してください:- 複数のスラッシュを含めることができます(連続していない場合)
- 英数字の大文字と小文字を使用できます
- 特殊文字
$ - _ . + ! * ' ( ) , % ; : @ & =
を使用できます - パラメータおよびワイルドカードを含めることはできません
- APIデプロイメントに定義されたデプロイメント・パス接頭辞と完全に一致する必要があります(APIデプロイメントの作成によるAPIゲートウェイへのAPIのデプロイを参照)
コンソールまたはAPIを使用して、
<deployment-path-prefix>
の値として使用するパス接頭辞を確認します。 -
/<api-route-path>
は、APIデプロイメント仕様で定義されている特定のルートへのパスです。リクエスト内のルート・パスで次の点に注意してください:- デプロイメント・パス接頭辞に対して相対的です
- 1つのスラッシュである可能性があります
- スラッシュは複数使用でき(連続していない場合)、スラッシュで終了できます
- 英数字の大文字と小文字を使用できます
- 特殊文字
$ - _ . + ! * ' ( ) , % ; : @ & =
を使用できます - APIデプロイメント仕様のルート・パスに、ワイルドカードありまたはワイルドカードなしのパス・パラメータが含まれている場合(ルート・パスへのパス・パラメータおよびワイルドカードの追加を参照)は、APIデプロイメント仕様で定義されたルート・パスと完全に一致する必要はありません
コンソールまたはAPIを使用して、
<api-route-path>
の値として使用するパスを見つけます。
例:
curl -k -X GET https://lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com/marketing/hello/
APIゲートウェイ・バック・エンドが、パラメータを受け入れるサーバーレス・ファンクションである場合、APIへのコールにこれらのパラメータを含めます。例:
curl -k -X POST https://lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com/marketing/hello/ -d "name=john"