Krok 4. Dodaj zasadę

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Po zmianie docelowego punktu końcowego możesz dodać zasady do serwera proxy.

Zasada to komponent brzegowy, który można dołączać do różnych punktów w wiadomości przez serwery proxy interfejsu API. Zasady mogą przekształcać formaty wiadomości, wymuszać kontrolę dostępu dzwonienia do usług zdalnych, autoryzowanie użytkowników, analizowanie treści wiadomości pod kątem potencjalnych zagrożeń i wiele innych działań i innych.

Z tego samouczka dodasz zasadę XMLtoJSON do serwera proxy. Ta zasada konwertuje ładunek komunikatu XML na format JSON. Dodatkowo zmienia się także Nagłówek Content-Type.

Aby dodać zasadę XML do JSON do serwera proxy:

  1. Otwórz interfejs Edge w przeglądarce i zaloguj się.
  2. Kliknij Serwery proxy interfejsów 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ę Develop:

    Edge wyświetli edytor proxy interfejsu API.

  4. W panelu Nawigator kliknij Punkty końcowe serwera proxy > domyślny > PreFlow:

    Edge wyświetla edytor przepływu:

    Ponadto Edge wyświetla domyślną konfigurację punktu końcowego serwera proxy w Panel kodu:

    <?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 odpowiedź PreFlow (dolna połowa edytora przepływu):

    Edge wyświetla listę zasad podzielonych na kategorie w oknie Dodaj, które które możesz dodać do procesu:

  6. Przewiń w dół i w sekcji 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:

    Pamiętaj, że gdy klikniesz Dodaj, Edge wykona te czynności:

    • Dodaje nową zasadę w sekcji Zasady w Nawigatorze. panel.
    • Dodaje zasadę XML do JSON w panelu Flow.
    • Wyświetla kod XML konfiguracji zasady w panelu Kod.
  8. Aby zapisać bieżącą wersję ze zmianami, kliknij Zapisz.

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.

Powinna Ci się wyświetlić następująca odpowiedź:

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

Jeśli treść odpowiedzi nie wygląda tak:

  1. Twój docelowy punkt końcowy to „https://mocktarget.apigee.net/xml”, jak opisano w Krok 3. Zmień docelowy punkt końcowy:
    • Jeśli zobaczysz komunikat „Cześć, gość!” jako odpowiedź musisz dodać „/xml”, do końca docelowego punktu końcowego.
    • Jeśli pojawi się błąd 404, sprawdź, czy otwierasz „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 artykule o wdrażaniu i wycofywaniu wdrożenia Proxy API.

Aby zobaczyć nagłówki żądania i odpowiedzi HTTP, włącz szczegółowość w elemencie curl za pomocą -vs (v określa odpowiedź jako szczegółową, a s ją 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. Pamiętaj, że parametr Nagłówek Content-Type w odpowiedzi to „application/json”. Zasada 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 szczegółów