Krok 4. Dodaj zasadę

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:

  1. Otwórz interfejs użytkownika Edge w przeglądarce i zaloguj się.
  2. 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.
  3. Kliknij kartę Programowanie:

    Edge wyświetli edytor proxy interfejsu API.

  4. 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>
  5. 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:

  6. Przewiń w dół i w kategorii Zapośredniczenie wybierz zasadę XML to JSON.
  7. 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.
  8. 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:

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:

  1. 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”.
  2. 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"
  }
}

Następny krok

Więcej informacji