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:
- Apri l'UI Edge in un browser e accedi.
- 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.
Fai clic sulla scheda Sviluppo:
Edge visualizza l'editor proxy API.
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>
- 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:
- Scorri verso il basso e seleziona la norma Da XML a JSON nella categoria Mediazione.
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.
- 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:
- 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".
- È 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" } }