Développer des proxys d'API

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

Vous exposez des API sur Apigee en mettant en œuvre des proxys d'API. Grâce aux proxys d'API, les API liées aux applications sont dissociées des services de backend, ce qui permet de protéger ces applications si le code de backend est modifié.

Développez vos proxys d'API à l'aide d'Apigee dans Cloud Code, comme décrit dans les sections suivantes. Voir aussi Gérer les dossiers et les fichiers dans un espace de travail Apigee.

Créer un proxy d'API

Pour créer un proxy d'API à l'aide d'Apigee dans {code_name}}, procédez comme suit :

  1. Effectuez l'une des actions suivantes :

    • Dans la section Apigee, placez le curseur sur le dossier apiproxies, puis cliquez sur Icône Créer.

      + s'affiche lorsque vous placez le curseur sur le dossier apiproxies.

    • Sélectionnez Affichage > Palette de commandes pour ouvrir la palette de commandes, puis sélectionnez Cloud Code : Créer un groupe de proxys Apigee.

    L'assistant de création de proxy s'ouvre.

  2. Sélectionnez l'une des options suivantes :

    Type Description
    Reverse proxy

    Un proxy d'API qui achemine les requêtes entrantes vers des services de backend HTTP existants. Il peut s'agir d'une API JSON ou XML. Consultez la section Créer un proxy inverse pour un service HTTP plus loin sur cette page.

    No target

    Un proxy d'API sans backend de l'API ("aucune cible"). De la même manière que vous créez un proxy inverse pour un service HTTP, sauf que vous ne spécifiez pas d'URL cible existante lorsque vous définissez les détails du proxy d'API.

Les sections suivantes décrivent les étapes supplémentaires requises pour créer chaque type de proxy d'API.

Créer un proxy inverse pour un service HTTP

Apigee génère des proxys API inverses basés sur les informations suivantes :

  • URL du service de backend
  • Chemin d'URI qui identifie de manière unique l'API qui sera exposée par le proxy d'API aux applications grand public.

Lorsque vous sélectionnez Proxy inverse lors de la création d'un proxy d'API, vous êtes invité à saisir les informations d'authentification de sécurité et de détails du proxy API. décrites dans les tableaux suivants.

Dans le champ Authentification de sécurité, sélectionnez l'une des options suivantes :

Authentification de la sécurité Description
API key based authentication

Ajoute une validation de clé API simple au proxy d'API que vous définissez. Apigee ajoute automatiquement les stratégies suivantes à votre proxy d'API :

  • VerifyAPIKey pour valider les clés API présentées en demandant des applications.
  • AssignMessage pour supprimer la clé API fournie dans l'appel d'API en tant que paramètre de requête, de la requête transmise au serveur backend.
Access token based authentication

Ajoute l'authentification basée sur OAuth 2.0 à votre proxy d'API. Apigee ajoute automatiquement les stratégies suivantes à votre proxy d'API :

  • VerifyAPIKey pour vérifier le jeton d'accès.
  • AssignMessage pour supprimer l'en-tête Authorization transmis pour l'authentification.
. Pour en savoir plus sur l'authentification à l'aide de jetons d'accès, consultez la page Valider des jetons d'accès.
No authentication Aucune authentification n'est requise. Les requêtes sont transmises au backend sans contrôle de sécurité sur Apigee.

Pour les détails du proxy API, répondez à chacune des invites suivantes, puis appuyez sur Entrée pour confirmer et continuer, ou sur Échap pour annuler l'assistant :

Champ Description
Backend target URL URL du service de backend que ce proxy d'API appelle.
API proxy name Nom affiché pour votre API. Indiquez des caractères alphanumériques, des tirets (-) ou des traits de soulignement (_).
API proxy base path Fragment d'URI qui apparaît après l'adresse http://[host] ou https://[host] du proxy d'API. Apigee utilise l'URI de chemin de base pour faire correspondre et acheminer les messages de requête entrantes vers le proxy d'API approprié.

Utiliser des caractères génériques dans les chemins de base

Utilisez un ou plusieurs caractères génériques /*/ dans les chemins d'accès de base du proxy d'API pour assurer la pérennité de vos proxys d'API. Par exemple, un chemin de base de /team/*/members permet aux clients d'appeler https://[host]/team/blue/members et https://[host]/team/green/members sans que vous ayez besoin de créer de proxys d'API pour gérer les nouvelles équipes. Notez que /**/ n'est pas accepté.

Une fois la procédure de l'assistant terminée, le nouveau dossier apiproxy-name est ajouté sous apiproxies dans Apigee Explorer. Chaque dossier de proxy d'API est structuré comme décrit dans la section Structure du répertoire de configuration du proxy API.

Vous trouverez ci-dessous un exemple de configuration par défaut créée pour un proxy d'API inverse nommé helloworld avec des règles ajoutées pour l'authentification basée sur une clé API.

Affiche la structure de dossiers d'un proxy inverse dans la section Apigee.

Pour obtenir une description de la configuration par défaut, consultez la section Explorer la configuration du proxy de l'API par défaut.

Créer un proxy d'API sans cible backend

Le processus de création d'un proxy d'API sans cible backend est identique à la création d'un proxy inverse, sauf que vous n'êtes pas invité à spécifier une URL pour le service de backend (Target (Existing API)) et que la configuration par défaut du point de terminaison cible n'est pas incluse. Pour en savoir plus, consultez la section Créer un proxy inverse pour un service HTTP.

Explorer la configuration de proxy d'API par défaut

Le tableau suivant récapitule le contenu inclus dans la configuration par défaut lorsque vous créez un proxy d'API basé sur le type de proxy d'API et les options d'authentification sélectionnées.

Configuration proxy fileReverse
Proxy inverse
Aucune cible
Authentification OAuthV2
Authentification par clé API
proxies/default.xml
Configuration du point de terminaison du proxy par défaut.
   
targets/default.xml
Configuration du point de terminaison cible par défaut.
     
impose-quota.xml
Règles sur les quotas pour définir un quota par défaut.
   
remove-header-authorization.xml
Stratégie AssignMessage pour supprimer l'en-tête Authorization transmis pour l'authentification.
    >
 
remove-query-param-apikey.xml
Stratégie AssignMessage pour supprimer le paramètre de requête apikey transmis pour l'authentification.
     
verify-api-key.xml
Stratégie VerifyAPIKey pour appliquer la vérification des clés API.
     
verify-oauth-v2-access-token.xml
OAuthV2 stratégie pour valider les jetons d'accès OAuth V2.
   
 

Importer un groupe de proxys d'API

Pour importer un groupe de proxys d'API vers Apigee dans Cloud Code :

  1. Effectuez l'une des actions suivantes :

    • Dans la section Apigee, placez le curseur sur le dossier apiproxies, puis cliquez sur Icône Importer.

    • Sélectionnez Afficher > Palette de commandes pour ouvrir la palette de commandes, puis sélectionnez Cloud Code : Importer un groupe de proxys Apigee.

  2. Accédez au groupe de proxys d'API que vous souhaitez importer, puis cliquez sur Importer un proxy. Le groupe de proxys d'API doit être structuré comme décrit dans la structure du répertoire de configuration du proxy d'API.

  3. (Facultatif) Par défaut, le nom du fichier ZIP moins son extension est utilisé pour le nom du proxy API. Si ce nom n'est pas unique, vous êtes invité à en saisir un.

Le dossier apiproxy-name importé est ajouté sous apiproxies dans la section Apigee.

Gérer les points de terminaison du proxy

Comme décrit dans la section Qu'est-ce qu'un proxy d'API ?, un point de terminaison proxy (ProxyEndpoint) définit la manière dont les applications clientes consomment vos API. Vous configurez ProxyEndpoint pour définir l'URL de votre proxy d'API. Le point de terminaison du proxy détermine également si les applications accèdent au proxy d'API via HTTP ou HTTPS. Vous pouvez associer des stratégies au point de terminaison du proxy pour appliquer la sécurité, et contrôler les quotas et d'autres types de contrôle des accès et de limitation du débit.

Créez et configurez des points de terminaison de proxy comme décrit dans les sections suivantes.

Créer des points de terminaison de proxy

Lorsque vous créez un proxy d'API, un point de terminaison de proxy par défaut est ajouté à la configuration de proxy d'API. Pour en savoir plus, consultez la section Explorer la configuration du proxy d'API par défaut. Vous pouvez créer des points de terminaison de proxy supplémentaires, si nécessaire.

Pour créer un point de terminaison proxy à l'aide d'Apigee dans Cloud Code, procédez comme suit :

  1. Dans la section Apigee, effectuez l'une des actions suivantes :

    • Dans la section Apigee, placez le curseur sur l'un des dossiers suivants, cliquez sur Icône Créer, puis sélectionnez Créer un point de terminaison du proxy :
      • Groupe de proxys apiproxy-name
      • apiproxy-name/apiproxy
    • Dans la section Apigee, placez le curseur sur le dossier apiproxy-name/apiproxy/proxies et cliquez sur Icône Créer.

    L'assistant "Créer un point de terminaison proxy" s'ouvre.

  2. Saisissez les valeurs correspondant à la série de invites suivante. Appuyez sur Entrée après chaque étape pour confirmer et continuer, ou sur Échap pour annuler.

    Champ Description
    Proxy endpoint name Nom utilisé pour identifier le point de terminaison du proxy.
    API proxy base path Partie de l'URL utilisée pour envoyer des requêtes à votre API. Apigee utilise l'URL pour mettre en correspondance et acheminer les requêtes entrantes vers le proxy d'API approprié.

Le point de terminaison est créé et ajouté au dossier apiproxy-name/apiproxy/proxies de la section Apigee, puis ouvert dans l'éditeur. Configurez le point de terminaison du proxy, comme décrit dans la section suivante.

Configurer des points de terminaison de proxy

Pour configurer les points de terminaison de proxy, reportez-vous aux sections suivantes :

Gérer les points de terminaison cibles

Comme décrit dans la section Qu'est-ce qu'un proxy d'API ?, un point de terminaison cible (TargetEndpoint) définit la manière dont le proxy d'API interagit avec vos services de backend. Vous devez configurer le TargetEndpoint pour transférer les requêtes vers le service de backend approprié, y compris définir les paramètres de sécurité, le protocole HTTP ou HTTPS et d'autres informations de connexion. Vous pouvez associer des règles au TargetEndpoint pour vous assurer que les messages de réponse sont correctement formatés pour l'application qui a effectué la requête initiale.

Créez et configurez des points de terminaison cibles comme décrit dans cette section.

Créer des points de terminaison cibles

Lorsque vous créez un proxy d'API inverse, un point de terminaison cible par défaut est ajouté à la configuration de proxy d'API. Lorsque vous créez un proxy d'API sans cible de backend, seul le point de terminaison du proxy par défaut est ajouté à la configuration de proxy d'API, mais aucun point de terminaison cible n'est ajouté. Pour en savoir plus, consultez la section Explorer la configuration du proxy d'API par défaut.

Créez des points de terminaison cibles, si nécessaire.

Pour créer un point de terminaison cible à l'aide d'Apigee dans Cloud Code, procédez comme suit :

  1. Dans la section Apigee, effectuez l'une des actions suivantes :

    • Dans la section Apigee, placez le curseur sur l'un des dossiers suivants, cliquez sur Icône Créer, puis sélectionnez Créer un point de terminaison cible :
      • Groupe de proxys apiproxy-name
      • apiproxy-name/apiproxy
    • Dans la section Apigee, placez le curseur sur le dossier apiproxy-name/apiproxy/targets et cliquez sur Icône Créer.

    L'assistant "Créer un point de terminaison cible" s'ouvre.

  2. Effectuez les étapes suivantes en fonction du type de point de terminaison cible que vous souhaitez créer :

    Type Étapes
    Cible HTTP(s) externe

    Pour définir une cible HTTP(s) externe, procédez comme suit :

    1. Sélectionnez Cible HTTP(s).
    2. Saisissez le nom du point de terminaison cible dans le champ Nom du point de terminaison cible.
    3. Saisissez l'URL du service de backend que ce point de terminaison cible appelle dans le champ URL cible du backend.

    Pour en savoir plus, consultez la section Déterminer l'URL du point de terminaison cible.

    Chaînage de proxys

    Pour définir un proxy d'API déployé localement comme cible, procédez comme suit :

    1. Sélectionnez chaînage de proxy.
    2. Saisissez le nom du point de terminaison cible dans le champ Nom du point de terminaison cible.
    3. Sélectionnez un proxy d'API.
    4. Sélectionnez le point de terminaison du proxy.

    Pour plus d'informations, reportez-vous à la section Chaîner des proxys ensemble.

    Cible à équilibrage de charge

    Pour définir une cible à équilibrage de charge à l'aide des serveurs cibles définis dans l'environnement, procédez comme suit :

    1. Sélectionnez Cible à équilibrage de charge.
    2. Saisissez le nom du point de terminaison cible dans le champ Nom du point de terminaison cible.

    Pour plus d'informations, consultez la section Configurer un TargetEndpoint pour équilibrer la charge sur des TargetServers nommés.

Le point de terminaison cible est créé et ajouté au dossier apiproxy-name/apiproxy/targets dans la section Apigee, et ouvert dans l'éditeur. Configurez le point de terminaison cible, comme décrit dans la section suivante.

Configurer des points de terminaison cibles

Configurez les points de terminaison cibles, comme décrit dans les rubriques suivantes.