Étape 4: Ajoutez une règle

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Maintenant que vous avez modifié le point de terminaison cible, vous êtes prêt à ajouter une règle à votre proxy.

Une règle est un composant Edge que vous pouvez associer à différents points du flux de messages via vos proxys d'API. Les règles peuvent transformer les formats de messages, appliquer un contrôle d'accès, appeler des services distants, autoriser des utilisateurs, examiner le contenu des messages pour détecter les menaces potentielles, et effectuer bien d'autres actions.

Dans ce tutoriel, vous allez ajouter la stratégie XMLtoJSON à votre proxy. Cette règle convertit la charge utile d'un message XML au format JSON. Il modifie également l'en-tête Content-Type de la réponse.

Pour ajouter la stratégie XML à JSON à votre proxy, procédez comme suit :

  1. Ouvrez l'interface utilisateur Edge dans un navigateur et connectez-vous.
  2. Cliquez sur API Proxies (Proxys d'API) dans la fenêtre principale et sélectionnez un proxy. Pour cet exemple, sélectionnez le proxy que vous avez créé à l'Étape 1: Créer un proxy d'API.
  3. Cliquez sur l'onglet Develop (Développer) :

    Edge affiche l'éditeur de proxy d'API.

  4. Dans le volet Navigateur, cliquez sur Proxy Endpoints > default > PreFlow (Points de terminaison du proxy > par défaut > PreFlow) :

    Edge affiche l'éditeur de flux:

    En outre, Edge affiche la configuration par défaut du point de terminaison du proxy dans le volet Code:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ProxyEndpoint name="default">
      <Description/>
      <FaultRules/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <Flows/>
      <HTTPProxyConnection>
        <BasePath>/getstarted</BasePath>
        <Properties/>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
      </HTTPProxyConnection>
      <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
      </RouteRule>
    </ProxyEndpoint>
  5. Pour ajouter une règle à votre proxy, cliquez sur le bouton + Step (+ Étape) dans la réponse PreFlow (partie inférieure de l'éditeur de flux):

    Edge affiche une liste catégorisée de règles dans la boîte de dialogue Ajouter que vous pouvez ajouter à votre flux:

  6. Faites défiler la page, puis sélectionnez la règle XML to JSON (XML à JSON) dans la catégorie "Médiation".
  7. Conservez les noms par défaut, puis cliquez sur Add (Ajouter).

    Edge associe la nouvelle règle au PreFlow de la réponse:

    Notez que lorsque vous cliquez sur Ajouter, Edge effectue les opérations suivantes:

    • Ajout de la nouvelle règle sous Stratégies dans le volet Navigateur.
    • Ajout de la règle XML à JSON dans le volet Flow (Flux).
    • Affiche le fichier XML de configuration de la stratégie dans le volet Code.
  8. Cliquez sur Save (Enregistrer) pour enregistrer vos modifications dans la révision actuelle.

À présent, testez votre configuration comme suit : Dans une fenêtre de terminal, exécutez la commande curl suivante :

curl https://org_name-test.apigee.net/getstarted

Où :

Vous pouvez également ouvrir la même URL dans un navigateur.

Vous devez obtenir la réponse suivante :

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

Si le corps de la réponse ne ressemble pas à ceci, vérifiez les points suivants :

  1. Votre point de terminaison cible est "https://mocktarget.apigee.net/xml", comme décrit dans la section Étape 3: Modifiez votre point de terminaison cible :
    • Si vous obtenez le message "Hello, Guest!" en tant que réponse, vous devez ajouter "/xml" à la fin du point de terminaison cible.
    • Si vous obtenez une erreur 404, vérifiez que vous accédez à "apigee.net" et non à "apigee.com".
  2. La dernière révision de votre proxy est déployée. Essayez de redéployer votre proxy d'API comme décrit dans la section Déployer et annuler le déploiement d'un proxy d'API.

Pour afficher les en-têtes de requête et de réponse HTTP, activez la verbosité dans curl avec l'option -vs (v rend la réponse détaillée, mais s supprime certaines des parties moins intéressantes). Exemple :

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

Vous devriez obtenir une réponse semblable à celle-ci : Notez que l'en-tête Content-Type de la réponse est "application/json". La stratégie XML vers JSON modifie l'en-tête avant de renvoyer la réponse.

*   Trying 10.20.30.40...
* TCP_NODELAY set
* Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0)
...
> GET /getstarted HTTP/1.1
> Host: ahamilton-eval-test.apigee.net
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 25 May 2018 16:20:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 77
< Connection: keep-alive
< X-Powered-By: Apigee
< Access-Control-Allow-Origin: *
...
{ [77 bytes data]
{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

Étape suivante

Aller plus loin