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:
- Apri l'interfaccia utente di Edge in un browser ed esegui l'accesso.
- 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.
Fai clic sulla scheda Sviluppa:

Edge visualizza l'editor del proxy API.
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>- 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:

- Scorri verso il basso e seleziona la policy XML to JSON nella categoria Mediazione.
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.
- 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:
- org_name è il nome dell'organizzazione che Apigee ti ha assegnato quando hai creato il tuo account Apigee.
-testè l'ambiente. Hai eseguito il deployment del nuovo proxy nell' ambiente "test" nel Passaggio 1: creazione di un proxy API./getstartedè il percorso di base del 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 che:
- 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".
- 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" } }