Passaggio 4: aggiungi un criterio

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Ora che hai modificato l'endpoint di destinazione, puoi aggiungere una policy al proxy.

Una policy è un componente Edge che puoi collegare a diversi punti del flusso di messaggi tramite i proxy API. Le policy possono trasformare i formati dei messaggi, applicare il controllo dell'accesso, chiamare servizi remoti, autorizzare gli utenti, esaminare i contenuti dei messaggi per rilevare potenziali minacce e molto altro ancora.

In questo tutorial, aggiungerai la policy XMLtoJSON al proxy. Questa policy converte il payload di un messaggio XML in JSON. Modifica anche l'intestazione della risposta Content-Type.

Per aggiungere la policy XML to JSON al proxy:

  1. Apri l'interfaccia utente di Edge in un browser ed esegui l'accesso.
  2. Fai clic su Proxy API nella finestra principale e seleziona un proxy. Per questo esempio, seleziona il proxy che hai creato nel Passaggio 1: creazione di un proxy API.
  3. Fai clic sulla scheda Sviluppa:

    Edge visualizza l'editor del proxy API.

  4. Nel riquadro Navigator, fai clic su Endpoint proxy > default > PreFlow:

    Edge visualizza l'editor del flusso:

    Inoltre, Edge visualizza la configurazione predefinita dell'endpoint proxy nel Codice riquadro:

    <?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. Per aggiungere una policy al proxy, fai clic sul pulsante + Passaggio in la metà inferiore dell'editor del flusso):

    Edge visualizza un elenco di policy suddivise per categorie nella finestra di dialogo Aggiungi che puoi aggiungere al flusso:

  6. Scorri verso il basso e seleziona la policy XML to JSON nella categoria Mediazione.
  7. Lascia i nomi predefiniti e fai clic su Aggiungi.

    Edge collega la nuova policy al PreFlow della risposta:

    Tieni presente che quando fai clic su Aggiungi, Edge esegue le seguenti operazioni:

    • Aggiunge la nuova policy in Policy nel riquadro Navigatore.
    • Aggiunge la policy XML to JSON nel riquadro Flusso.
    • Visualizza la configurazione XML della policy nel riquadro Codice.
  8. Fai clic su Salva per salvare la revisione corrente con le modifiche.

Ora provala. In una finestra del terminale, esegui il seguente comando curl:

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

Dove:

In alternativa, puoi aprire lo stesso URL in un browser.

Dovresti ricevere la seguente risposta:

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

Se il corpo della risposta non ha questo aspetto, controlla che:

  1. L'endpoint di destinazione sia "https://mocktarget.apigee.net/xml", come descritto in Passaggio 3: modifica l'endpoint di destinazione:
    • Se ricevi "Hello, Guest!" come risposta, devi aggiungere "/xml" alla fine dell'endpoint di destinazione.
    • Se ricevi un errore 404, controlla di accedere a "apigee.net" e non "apigee.com".
  2. Venga eseguito il deployment dell'ultima revisione del proxy. Prova a eseguire di nuovo il deployment del proxy API come descritto in Deployment e annullamento del deployment di un proxy API.

Per visualizzare le intestazioni delle richieste e delle risposte HTTP, attiva la verbosità in curl con l' opzione -vs (v rende la risposta dettagliata, ma s sopprime alcuni dettagli meno interessanti). Ad esempio:

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

Dovresti ricevere una risposta simile alla seguente. Tieni presente che l' Content-Type header nella risposta è "application/json". La policy XML to JSON modifica l'intestazione prima di inviare la risposta.

*   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"
  }
}

Passaggio successivo

Approfondisci