Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Po zmianie docelowego punktu końcowego możesz dodać do proxy zasadę.
A Zasada to komponent Edge, który możesz dołączyć do różnych punktów przepływu komunikatów przez proxy interfejsów API. Zasady mogą przekształcać formaty komunikatów, egzekwować kontrolę dostępu, wywoływać usługi zdalne, autoryzować użytkowników, sprawdzać treść komunikatów pod kątem potencjalnych zagrożeń i wykonywać wiele innych czynności.
W tym samouczku dodasz do proxy zasadę XMLtoJSON. Ta zasada
przekształca ładunek komunikatu XML na format JSON. Zmienia też nagłówek odpowiedzi
Content-Type.
Aby dodać do proxy zasadę XML to JSON:
- Otwórz interfejs Edge w przeglądarce i zaloguj się.
- W oknie głównym kliknij API Proxies (Proxy interfejsów API) i wybierz proxy. W tym przykładzie wybierz proxy utworzone w kroku 1: Tworzenie proxy interfejsu API.
Kliknij kartę Develop (Tworzenie):

Edge wyświetli edytor proxy interfejsu API.
W panelu Navigator (Nawigator) kliknij Proxy Endpoints > default > PreFlow (Punkty końcowe proxy > domyślne > PreFlow):

Edge wyświetli edytor Flow:

Dodatkowo Edge wyświetli domyślną konfigurację punktu końcowego proxy w panelu Code (Kod):
<?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>- Aby dodać do proxy zasadę, kliknij przycisk + Step w
sekcji PreFlow odpowiedzi (dolna połowa edytora Flow):

Edge wyświetli w oknie Add (Dodaj) podzieloną na kategorie listę zasad, które możesz dodać do przepływu:

- Przewiń w dół i w kategorii Mediation wybierz zasadę XML to JSON.
Pozostaw nazwy domyślne i kliknij Add (Dodaj).
Edge dołączy nową zasadę do PreFlow odpowiedzi:

Gdy klikniesz Add (Dodaj), Edge wykona te czynności:
- Doda nową zasadę w sekcji Policies (Zasady) w panelu Navigator (Nawigator).
- Doda zasadę XML to JSON w panelu Flow (Przepływ).
- Wyświetli kod XML konfiguracji zasady w panelu Code (Kod).
- Aby zapisać bieżącą wersję ze zmianami, kliknij Save (Zapisz).
Wypróbuj! W oknie terminala wykonaj to polecenie curl:
curl https://org_name-test.apigee.net/getstarted
Gdzie:
- org_name to nazwa organizacji, którą Apigee przypisało Ci podczas tworzenia konta Apigee.
-testto środowisko. Nowe proxy zostało wdrożone w środowisku "test" w kroku 1: Tworzenie proxy interfejsu API./getstartedto podstawowa ścieżka proxy.
Możesz też otworzyć ten sam adres URL w przeglądarce.
Powinna się pojawić ta odpowiedź:
{
"root": {
"city": "San Jose",
"firstName": "John",
"lastName": "Doe",
"state": "CA"
}
}Jeśli treść odpowiedzi nie wygląda tak jak powyżej, sprawdź, czy:
- Docelowy punkt końcowy to "https://mocktarget.apigee.net/xml", jak opisano w
kroku 3: Zmienianie docelowego punktu końcowego:
- Jeśli otrzymasz odpowiedź „Hello, Guest!”, musisz dodać „/xml” na końcu docelowego punktu końcowego.
- Jeśli otrzymasz kod 404, sprawdź, czy uzyskujesz dostęp do "apigee.net", a nie do "apigee.com".
- Wdrożona jest najnowsza wersja proxy. Spróbuj ponownie wdrożyć proxy interfejsu API zgodnie z opisem w artykule Wdrażanie i wycofywanie wdrożenia proxy interfejsu API.
Aby wyświetlić nagłówki żądania HTTP i odpowiedzi na nie, włącz szczegółowość w curl za pomocą opcji
-vs (v powoduje, że odpowiedź jest szczegółowa, ale s pomija
niektóre mniej interesujące szczegóły). Na przykład:
curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool
Powinna się pojawić odpowiedź podobna do tej: Zwróć uwagę, że nagłówek
Content-Type w odpowiedzi to "application/json". Zasada XML to JSON
zmienia nagłówek przed wysłaniem odpowiedzi.
* 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" } }