Appel d'une API déployée sur une passerelle d'API

Découvrez comment appeler une API que vous avez précédemment déployée sur une passerelle d'API à l'aide du service API Gateway.

Une fois l'API déployée sur une passerelle d'API, vous pouvez l'appeler.

Conseil

Lors de l'assemblage de la commande cURL décrite dans cette rubrique, vous pouvez obtenir rapidement la valeur de la chaîne https://<gateway-hostname>/<deployment-path-prefix> en tant qu'adresse du déploiement d'API en utilisant l'une des méthodes suivantes :

  • Console, en accédant à la page Détails de la passerelle et en sélectionnant Copier en regard de l'adresse du déploiement d'API.
  • API : utilisez l'opération GetDeployments.

Utilisation de la commande cURL

Pour appeler une API déployée sur une passerelle d'API, procédez comme suit :

  1. Ouvrez une fenêtre de terminal et tapez une commande cURL semblable à la suivante, qui est appropriée pour l'API déployée :

    curl -k -X <method> https://<gateway-hostname>/<deployment-path-prefix>/<api-route-path>

    où :

    • <method> est une méthode valide pour l'API déployée (par exemple, GET, PUT).
    • <gateway-hostname> est un nom de domaine généré automatiquement au format <gateway-identifier>.apigateway.<region-identifier>.oci.customer-oci.com, où :

      • <gateway-identifier> est la chaîne de caractères qui identifie la passerelle d'API. Par exemple, lak...sjd (abrégé pour des raisons de lisibilité).
      • <region-identifier> est l'identificateur de la région dans laquelle la passerelle d'API a été créée. Reportez-vous à Disponibilité par région.

      Par exemple, lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com.

      Utilisez la console ou l'API pour déterminer le nom de domaine à utiliser comme valeur de <gateway-hostname>.

    • /<deployment-path-prefix> est le préfixe ajouté au chemin de chaque routage dans le déploiement d'API. Le préfixe du chemin de déploiement qui figure dans la demande présente les caractéristiques suivantes :

      • Il peut contenir plusieurs barres obliques (à condition qu'elles ne soient pas adjacentes).
      • Il peut inclure des caractères alphanumériques en majuscules et minuscules.
      • Il peut inclure les caractères spéciaux $ - _ . + ! * ' ( ) , % ; : @ & = .
      • Il ne peut pas inclure de paramètres ni de caractères génériques.
      • Il doit correspondre exactement au préfixe de chemin de déploiement défini pour le déploiement d'API (reportez-vous à Déploiement d'une API sur une passerelle d'API en créant un déploiement d'API).

      Utilisez la console ou l'API pour rechercher le préfixe de chemin à utiliser comme valeur de <deployment-path-prefix>.

    • /<api-route-path> est le chemin d'un routage particulier défini dans la spécification de déploiement d'API. Le chemin d'accès au routage qui figure dans la demande présente les caractéristiques suivantes :

      • Il est relatif au préfixe de chemin de déploiement.
      • Il peut être constitué d'une unique barre oblique.
      • Il peut contenir plusieurs barres obliques (à condition qu'elles ne soient pas adjacentes), ainsi que se terminer par une barre oblique.
      • Il peut inclure des caractères alphanumériques en majuscules et minuscules.
      • Il peut inclure les caractères spéciaux $ - _ . + ! * ' ( ) , % ; : @ & = .
      • Il ne doit pas nécessairement correspondre exactement au chemin de routage défini dans la spécification de déploiement d'API, du moment que le chemin de routage de la spécification de déploiement d'API contient un paramètre de chemin avec ou sans caractère générique (reportez-vous à Ajout de paramètres de chemin et de caractères génériques aux chemins de routage).

      Utilisez la console ou l'API pour rechercher le chemin à utiliser comme valeur de <api-route-path>.

    Par exemple :

    curl -k -X GET https://lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com/marketing/hello/

    Si le back-end de la passerelle d'API est une fonction sans serveur qui accepte des paramètres, incluez ces derniers dans l'appel à l'API. Par exemple :

    curl -k -X POST https://lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com/marketing/hello/ -d "name=john"