Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Przykłady interfejsu Apigee Edge API zawierają przykładowe serwery proxy interfejsu API, zasady, kod i narzędzia, które ilustrują możliwości usług interfejsu Apigee Edge API opisane poniżej.
Instrukcje korzystania z przykładowych proxy interfejsu API znajdziesz w artykule Korzystanie z przykładowych proxy interfejsu API.
Nauka przez działanie
Chcesz szybko zacząć zdobywać praktyczną wiedzę o Apigee Edge? W GitHubie mamy bibliotekę przykładowych projektów „learn-edge”, które umożliwiają szybkie wdrażanie, wywoływanie i śledzenie przykładowych serwerów proxy. Zaczynamy od najprostszego serwera proxy, a następnie przechodzimy do serwerów proxy, które ilustrują walidację klucza interfejsu API, limit, buforowanie odpowiedzi, obsługę błędów i inne funkcje.
Po sklonowaniu repozytorium i skonfigurowaniu środowiska (co zajmuje tylko kilka minut) możesz wypróbować każdy przykład w mniej niż minutę. Każda próbka tworzy nową wersję tego samego proxy, więc w środowisku nie będzie wielu próbek. W każdej chwili możesz przełączać wersje, ponownie wdrażać inną wersję w interfejsie zarządzania i sprawdzać kod serwera proxy. Plik readme każdego przykładu zawiera też krótkie podsumowanie tego, co robi przykład i jak jest skonfigurowany.
Wypróbuj! https://github.com/apigee/api-platform-samples/tree/master/learn-edge
Przykłady z książki kucharskiej Dokumentów
Do tematów w książce kucharskiej dotyczącej proxy interfejsu API dołączony jest zestaw przykładów.
| Nazwa | Opis | Typy zasad | Zasoby |
|---|---|---|---|
| javascript-cookbook | Zawiera prosty fragment kodu JavaScript, który dodaje nagłówki HTTP ze zmiennych, przekształca raport pogodowy w formacie XML z JSON na XML i przycina zawartość dla klientów mobilnych. | minimize.js setHeaders.js |
|
| javascript-mashup-cookbook | Kompletna aplikacja JavaScript, która wywołuje publiczne interfejsy API, łączy wyniki i generuje dla aplikacji klienckiej wzbogaconą odpowiedź. (Uwaga: ten serwer proxy interfejsu API implementuje tę samą funkcję co mashup zasad, co pokazuje, że ten sam problem można rozwiązać za pomocą różnych technik). | JavaScript | MashItUp.js |
| java-hello | Proste wywołanie Javy „hello world”. | JavaCallout | JavaHello.java |
| java-cookbook | Zmienia zawartość odpowiedzi i nagłówki na wielkie litery. | JavaCallout |
ResponseUppercase.java |
| java-properties | Pokazuje, jak używać właściwości w wywołaniu Javy. | JavaCallout | JavaProperties.java |
| java-error | Pokazuje wzorce obsługi błędów, których możesz używać w kodzie wywołania Java. | JavaCallout | JavaError.java |
| policy-mashup-cookbook | Kompletna aplikacja, która używa kompozycji zasad do wywoływania 2 publicznych interfejsów API, łączy wyniki i generuje dla aplikacji klienckiej rozszerzoną odpowiedź. (Uwaga: ten serwer proxy interfejsu API implementuje tę samą funkcję co javascript-mashup, co pokazuje, że ten sam problem można rozwiązać za pomocą różnych technik). | AssignMessage ServiceCallout ExtractVariables Javascript XMLToJSON |
GenerateResponse.js |
Przykładowe proxy interfejsów API
Poniższe proxy interfejsu API znajdują się w GitHubie, gdzie na stronach readme znajdziesz szczegółowe opisy przykładów. Jeśli chcesz dowiedzieć się, jak konkretne zasady działają w przykładowym scenariuszu, w kolumnie Typy zasad poniżej znajdź interesujące Cię zasady, a następnie kliknij nazwę przykładowego scenariusza w kolumnie Nazwa. (Zasady są połączone z odpowiednimi stronami referencyjnymi w dokumentacji).
Materiały referencyjne i narzędzia
Oprócz przykładów z książki kucharskiej i przykładowych serwerów proxy w tabelach powyżej przykłady Edge na GitHubie zawierają też te zasoby:
| Nazwa | Opis | Typy zasad | Zasoby |
|---|---|---|---|
| regex-protection | Zasady ochrony przed zagrożeniami związanymi z wyrażeniami regularnymi mogą chronić backendowe interfejsy API i mikrousługi przed atakami typu SQL injection. | Nie dotyczy | |
| oauth-validate-key-secret | Wdrażasz proces przyznawania uprawnień OAuth za pomocą hasła. Przed wywołaniem zewnętrznego dostawcy tożsamości w celu zweryfikowania danych logowania użytkownika musisz potwierdzić klucz klienta aplikacji i klucz tajny w Edge. | OAuthV2, inne | Nie dotyczy |
| condition-pattern-matching | Ten serwer proxy umożliwia łatwe wypróbowywanie i testowanie instrukcji warunkowych w przepływie serwera proxy interfejsu API. | AssignMessage | Nie dotyczy |
| access-entity | Pokazuje, jak pobierać profile encji z pamięci danych Apigee Edge. | AssignMessage AccessEntity ExtractVariables |
brak |
| apikey | Implementuje prostą weryfikację klucza interfejsu API | VerifyAPIKey AssignMessage Quota |
brak |
| async-callout | Pokazuje proste wywołanie asynchroniczne za pomocą klienta HTTP JavaScript. | JavaScript | assemble_response.js callout.js |
| base64encoder | Pokazuje, jak wywoływać pliki JavaScript z zasobów JavaScript w proxy interfejsu API. | AssignMessage JavaScript |
core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| conditional-policy | Umożliwia proste warunkowe egzekwowanie zasad. Gdy żądanie zawiera nagłówek HTTP responsetime:true, zasady wykonują skrypt w języku Python, który dodaje do wiadomości z odpowiedzią zestaw wskaźników wydajności w postaci nagłówków HTTP. | Skrypt (Python) | timer.py |
| dynamic-endpoint | Wdraża proste routing warunkowy w nieco bardziej złożonym scenariuszu, który definiuje 2 adresy URL i 1 trasę domyślną. | brak | brak |
| jira-release-notes | Jest to proxy interfejsu API używany przez zespół ds. dokumentacji Apigee do generowania informacji o wersji z Jiry. | JSONToXML XSL |
releasenotes_api.xsl |
| kerberos-credential-mediation | Ten przykład pokazuje, jak przeprowadzić mediację danych logowania Kerberos w Apigee Edge. | JavaCallout | plik JAR w języku Java, |
| oauth-advanced | Kompletny, działający przykład przepływu typu uwierzytelnienia kodem autoryzacji z Apigee Edge jako serwerem autoryzacji. |
GenerateAccessToken Wiele innych… |
zobacz przykładowy kod |
| oauth-client-credentials | Pokazuje w pełni funkcjonalny punkt końcowy tokena protokołu OAuth 2.0 skonfigurowany na potrzeby typu uwierzytelnienia danych logowania klienta. | GenerateAccessToken | brak |
| oauth-login-app | Rola wycofana. Zamiast tego zalecamy zapoznanie się z przykładem oauth-advanced. | ||
| oauth-validate-key-secret | Ilustruje technikę weryfikacji klucza i klucza tajnego klienta przed wywołaniem dostawcy tożsamości w celu zweryfikowania danych logowania użytkownika w przypadku przepływu typu udzielenia hasła. | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
brak |
| oauth-verify-accesstoken | Pokazuje proxy interfejsu API skonfigurowane do weryfikowania tokenów dostępu OAuth 2.0 i sprawdzania limitu. | VerifyAccessToken Quota |
brak |
| oauth10a-3legged | Pokazuje konfigurację OAuth 1.0a z 3 etapami. | GenerateAccessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
brak |
| outbound-oauth | Korzysta z interfejsu Microsoft Azure Translator API do tłumaczenia tweetów. W tym celu wykonuje wywołanie wychodzące, aby uzyskać token dostępu OAuth, a następnie zapisuje go w pamięci podręcznej zgodnie z zasadami buforowania usług API. Za każdym razem, gdy wykonywane jest wywołanie wychodzące, używa tokenu z pamięci podręcznej. Zawiera też demonstracyjną aplikację przeglądarki używaną do wywoływania serwera proxy interfejsu API. | AssignMessage LookupCache PopulateCache Javascript |
api-config.js api-token-get.js translate-query.js translate-results.js |
| stronicowanie | Dzieli na strony wiadomość odpowiedzi XML na podstawie parametrów limitu i przesunięcia podanych przez klienta. | AssignMessage ExtractVariables ResponseCache VerifyApiKey XSL |
paginate.xslt |
| response-cache | Pokazuje, jak buforować prognozy pogody na urządzeniu brzegowym przez 10 minut. | ResponseCache AssignMessage |
brak |
| simple-python | Przedstawia prosty scenariusz dołączania skryptu w Pythonie do odpowiedzi, który dodaje do niej wartość nagłówka. |
Skrypt (Python) | setHeader.py |
| mydło | Pokazuje transformację XSL, która w odpowiedzi na żądanie z parametrem zapytania ?wsdl przepisuje plik WSDL. | AssignMessage ExtractVariables Script (Python) XSL |
calculateaddress.py fixwsdl.xsl |
| streaming | Pokazuje konfigurację strumieniowania HTTP. | brak | brak |
| target-reroute | Pokazuje, jak za pomocą JavaScriptu dynamicznie wybierać docelowy adres URL na podstawie treści wiadomości z prośbą. | ExtractVariables Javascript |
rewriteTargetUrl.js |
| twitter-mobile-timeline | Pokazuje, jak za pomocą JavaScriptu usuwać z tweetów niepotrzebne parametry, co pozwala uzyskać uproszczoną oś czasu Twittera, która jest przyjazna dla urządzeń mobilnych o ograniczonych zasobach. | AssignMessage JavaScript |
MobileTimeline.js |
| twitter-oembed | Przekształca odpowiedzi osi czasu (np. z plików statuses/user_timeline.json) w odpowiedź oEmbed, która zawiera dane osi czasu jako treść HTML z elementami rozszerzonymi. | AssignMessage JavaScript |
search-oembed.js |
| zmienne | Pokazuje, jak wyodrębniać i ustawiać zmienne na podstawie transportu oraz zawartości wiadomości JSON i XML. | AssignMessage ExtractVariables XMLToJSON |
minimize.js |
| xmltojson | Konwertuje dane odpowiedzi z XML na JSON. | XMLToJSON JSONToXML |
brak |
|
|
Pliki schematu XML, których możesz używać jako odniesienia podczas konfigurowania serwerów proxy interfejsu API, zasad, produktów interfejsu API oraz profili deweloperów i aplikacji. |
||
|
|
Zawiera narzędzie do wdrażania deploy.py, które importuje proxy interfejsu API do organizacji w Apigee Edge, a następnie wdraża je w określonym środowisku. |
||
|
|
Narzędzie do tworzenia migawek organizacji pobiera ustawienia organizacji, w tym deweloperów, produkty interfejsu API, hosty wirtualne, mapy klucz-wartość itp. Można go używać do tworzenia kopii zapasowych szczegółów organizacji lub do odkrywania ustawień w organizacji. |
Apigee-127
Jeśli jesteś programistą, Apigee-127 pomoże Ci zacząć tworzyć proxy interfejsów API za pomocą Node.js i Swaggera. Przykłady a127 znajdziesz też na GitHubie: https://github.com/apigee-127/a127-samples.
Podziel się wrażeniami
Podziel się swoimi doświadczeniami na forum dla programistów Apigee.