Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Po zmianie docelowego punktu końcowego możesz dodać zasadę do serwera proxy.
Zasada to komponent brzegowy, który możesz dołączać w różnych punktach przepływu wiadomości przez serwery proxy interfejsów API. Zasady mogą zmieniać formaty wiadomości, wymuszać kontrolę dostępu, wywoływać usługi zdalne, autoryzować użytkowników, analizować treść wiadomości pod kątem potencjalnych zagrożeń i wykonywać wiele innych działań.
W tym samouczku dodasz zasadę XMLtoJSON do swojego serwera proxy. Ta zasada konwertuje ładunek wiadomości XML na format JSON. Zmienia się też nagłówek Content-Type
odpowiedzi.
Aby dodać do serwera proxy zasadę XML do formatu JSON:
- Otwórz interfejs użytkownika Edge w przeglądarce i zaloguj się.
- Kliknij Proxy API w oknie głównym i wybierz serwer proxy. W tym przykładzie wybierz serwer proxy utworzony w kroku 1. Utwórz serwer proxy interfejsu API.
Kliknij kartę Programowanie:
Edge wyświetli edytor proxy interfejsu API.
W panelu Navigator kliknij Proxy Endpoints > default > PreFlow:
Edge wyświetla edytor przepływu:
Dodatkowo Edge wyświetla domyślną konfigurację punktu końcowego serwera proxy w panelu 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ć zasadę do serwera proxy, kliknij przycisk + Krok w panelu PreFlow odpowiedzi (w dolnej części edytora Flow):
W oknie dialogowym Dodaj Edge wyświetli się lista zasad pogrupowanych na kategorie, które możesz dodać do procesu:
- Przewiń w dół i w kategorii Zapośredniczenie wybierz zasadę XML to JSON.
Pozostaw domyślne nazwy i kliknij Dodaj.
Edge dołącza nową zasadę do wstępnego przepływu odpowiedzi:
Gdy klikniesz Dodaj, Edge wykona te czynności:
- Dodaje nową zasadę w sekcji Zasady w panelu Nawigator.
- Dodaje zasadę XML do JSON w panelu Przepływ.
- Wyświetla kod XML konfiguracji zasady w panelu Kod.
- Kliknij Zapisz, aby zapisać bieżącą wersję ze zmianami.
Teraz spróbuj! W oknie terminala wykonaj to polecenie curl
:
curl https://org_name-test.apigee.net/getstarted
Gdzie:
- org_name to nazwa organizacji przypisana do Ciebie przez Apigee podczas tworzenia konta Apigee.
-test
to środowisko. Nowy serwer proxy został wdrożony w środowisku „testowym” w kroku 1. Utwórz serwer proxy interfejsu API./getstarted
to ścieżka bazowa serwera proxy.
Możesz też otworzyć ten sam adres URL w przeglądarce.
Odpowiedź powinna nadejść:
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
Jeśli treść odpowiedzi nie wygląda tak, sprawdź, czy:
- Docelowy punkt końcowy to „https://mocktarget.apigee.net/xml”, zgodnie z opisem w kroku 3. Zmień docelowy punkt końcowy:
- Jeśli otrzymasz odpowiedź „Hello, Guest!”, musisz dołączyć „/xml” na końcu docelowego punktu końcowego.
- Jeśli pojawi się błąd 404, sprawdź, czy korzystasz z „apigee.net”, a nie „apigee.com”.
- Wdrożono najnowszą wersję serwera proxy. Spróbuj ponownie wdrożyć serwer proxy interfejsu API zgodnie z opisem w sekcji Wdrażanie i wycofywanie serwera proxy interfejsu API.
Aby zobaczyć nagłówki żądań i odpowiedzi HTTP, włącz szczegółowość w funkcji curl
za pomocą opcji -vs
(v
powoduje wyświetlenie odpowiedzi wyczerpującej, 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 pojawić się odpowiedź podobna do tej. Zwróć uwagę, że nagłówek Content-Type
w odpowiedzi to „application/json”. Zasada z XML na 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" } }