Passaggio 4: aggiungi un criterio

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione 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 messaggio a passare attraverso i proxy API. I criteri possono trasformare i formati dei messaggi, applicare in modo forzato il controllo dell'accesso chiamare servizi remoti, autorizzare gli utenti, esaminare i contenuti dei messaggi per individuare potenziali minacce e fare molto altro ancora.

In questo tutorial, aggiungerai il criterio XMLtoJSON al tuo proxy. Queste norme converte il payload di un messaggio XML in JSON. Cambia inoltre le risposte Intestazione Content-Type.

Per aggiungere il criterio da XML a JSON al proxy:

  1. Apri la UI di 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 nel Passaggio 1: crea un proxy API.
  3. Fai clic sulla scheda Sviluppo:

    Edge visualizza l'editor proxy API.

  4. Nel riquadro Navigatore, fai clic su Endpoint proxy > predefinita > PreFlow:

    Edge visualizza l'editor Flow:

    Inoltre, Edge visualizza la configurazione predefinita degli endpoint proxy nella 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 in la risposta PreFlow (la metà inferiore dell'editor Flow):

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

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

    Edge collega il nuovo criterio al PreFlow della risposta:

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

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

Prova ora! In una finestra del terminale, esegui questo comando curl:

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

Dove:

di Gemini Advanced.

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 è simile a questo, controlla che:

  1. Il tuo endpoint di destinazione è "https://mocktarget.apigee.net/xml", come descritto in Passaggio 3: modifica l'endpoint di destinazione:
      .
    • Se ricevi "Ciao, ospite!", come risposta, devi aggiungere "/xml" alla fine dell'endpoint di destinazione.
    • Se ricevi un errore 404, verifica di accedere a "apigee.net". e non "apigee.com".
  2. È stato eseguito il deployment dell'ultima revisione del proxy. Prova a eseguire nuovamente il deployment del proxy API come descritto in Eseguire il deployment e l'annullamento del deployment proxy API.

Per visualizzare le intestazioni della richiesta e della risposta HTTP, attiva il livello di dettaglio in curl con Opzione -vs (v rende la risposta dettagliata, ma s la 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". Criterio da XML a JSON cambia 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

Approfondimenti