Passaggio 4: aggiungi un criterio

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Ora che hai modificato l'endpoint di destinazione, puoi aggiungere un criterio al proxy.

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

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

Per aggiungere il criterio da XML a JSON al tuo proxy:

  1. Apri l'UI Edge in un browser e accedi.
  2. Fai clic su proxy API nella finestra principale e seleziona un proxy. Per questo esempio, seleziona il proxy che hai creato al Passaggio 1: crea un proxy API.
  3. Fai clic sulla scheda Sviluppo:

    Edge visualizza l'editor proxy API.

  4. Nel riquadro Navigazione, fai clic su Endpoint proxy > predefinito > PreFlow:

    Edge visualizza l'editor Flow:

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

    <?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 un criterio al proxy, fai clic sul pulsante + Passaggio nel pre-flusso di risposta (la metà inferiore dell'editor del flusso):

    Edge mostra un elenco categorizzato di criteri nella finestra di dialogo Aggiungi che puoi aggiungere al flusso:

  6. Scorri verso il basso e seleziona la norma Da XML a JSON nella categoria Mediazione.
  7. Lascia invariati i nomi predefiniti e fai clic su Aggiungi.

    Edge collega il nuovo criterio al flusso preliminare della risposta:

    Tieni presente che quando fai clic su Aggiungi, Edge:

    • Aggiunge il nuovo criterio in Norme nel riquadro Navigazione.
    • Aggiunge il criterio da XML a JSON nel riquadro Flusso.
    • Mostra il codice XML di configurazione del criterio nel riquadro Codice.
  8. Fai clic su Salva per salvare la revisione corrente con le modifiche.

Ora prova! In una finestra del terminale, esegui questo comando curl:

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

Dove:

  • org_name è il nome dell'organizzazione che Apigee ti ha assegnato quando hai creato l'account Apigee.
  • -test è l'ambiente. Hai eseguito il deployment del nuovo proxy nell'ambiente di test nel Passaggio 1: crea un proxy API.
  • /getstarted è il percorso base proxy.

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 quanto segue:

  1. L'endpoint di destinazione è "https://mocktarget.apigee.net/xml", come descritto nel Passaggio 3: modifica l'endpoint di destinazione:
    • Se ricevi "Hello, Guest!" come risposta, devi aggiungere "/xml" alla fine dell'endpoint di destinazione.
    • Se ottieni un codice 404, verifica di accedere ad "apigee.net" e non ad "apigee.com".
  2. È stato eseguito il deployment della revisione più recente del proxy. Prova a eseguire nuovamente il deployment del proxy API come descritto in Eseguire il deployment e annullare il deployment di un proxy API.

Per visualizzare le intestazioni delle richieste e delle risposte HTTP, attiva le Preferenze di lettura in curl con l'opzione -vs (v rende la risposta dettagliata, ma s elimina alcuni dei 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'intestazione Content-Type nella risposta è "application/json". Il criterio da XML a 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