Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Примеры API Apigee Edge содержат примеры прокси API, правил, кода и инструментов, которые иллюстрируют возможности сервисов API Apigee Edge, описанные ниже.
Инструкции по использованию примеров приведены в разделе Как использовать примеры прокси API.
Обучение на практике
Хотите быстро получить практические навыки и создать прочную базу знаний об Apigee Edge? На GitHub есть библиотека примеров learn-edge, которые позволяют быстро развернуть, вызвать и отследить некоторые образцы прокси. Начните с самого простого прокси, а затем переходите к более сложным, которые иллюстрируют проверку ключа API, квоту, кеширование ответов, обработку ошибок и т. д.
После того как вы клонируете репозиторий и настроите среду (это займет всего несколько минут), вы сможете попробовать каждый пример менее чем за минуту. Поскольку каждый образец создает новую версию одного и того же прокси-сервера, в вашей среде не будет много образцов. Вы можете переключаться между версиями, повторно развертывать другую версию в интерфейсе управления и в любое время просматривать код прокси. В файле readme для каждого примера также приводится краткое описание того, что делает пример и как он настроен.
Попробуйте сами! https://github.com/apigee/api-platform-samples/tree/master/learn-edge
Примеры рецептов в Документах
Для тем из справочного руководства по прокси-серверу API предоставляется набор примеров.
| Название | Описание | Типы правил | Ресурсы |
|---|---|---|---|
| javascript-cookbook | Пример простого фрагмента кода JavaScript, который добавляет HTTP-заголовки из переменных, преобразует отчет о погоде в формате XML из JSON в XML и сокращает контент для мобильных клиентов. | minimize.js setHeaders.js |
|
| javascript-mashup-cookbook | Полное JavaScript-приложение, которое вызывает общедоступные API, объединяет результаты и создает расширенный ответ для клиентского приложения. (Примечание. Этот прокси-сервер API реализует ту же функциональность, что и policy-mashup, демонстрируя, что одну и ту же проблему можно решить разными способами.) | Javascript | MashItUp.js |
| java-hello | Простой вызов Java "Здравствуй, мир!" | JavaCallout | JavaHello.java |
| java-cookbook | Преобразует содержимое и заголовки ответа в верхний регистр. | JavaCallout |
ResponseUppercase.java |
| java-properties | Показывает, как использовать свойства в выноске Java. | JavaCallout | JavaProperties.java |
| java-error | Примеры обработки ошибок, которые можно использовать в коде Java Callout. | JavaCallout | JavaError.java |
| policy-mashup-cookbook | Полное приложение, которое использует композицию правил для вызова двух общедоступных API, объединяет результаты и генерирует расширенный ответ для клиентского приложения. Примечание. Этот прокси-сервер API реализует ту же функциональность, что и javascript-mashup, демонстрируя, что одну и ту же проблему можно решить разными способами. | AssignMessage ServiceCallout ExtractVariables Javascript XMLToJSON |
GenerateResponse.js |
Примеры прокси API
Ниже перечислены прокси API, которые можно найти на GitHub. На страницах readme приведены подробные описания примеров. Если вас интересует, как работает определенное правило в образце, найдите его в столбце "Типы правил" ниже и нажмите на название образца в столбце "Название". (Правила связаны со справочными страницами в документах.)
Справочные материалы и инструменты
Помимо примеров из кулинарной книги и примеров прокси-серверов, приведенных в таблицах выше, примеры Edge на GitHub также содержат следующие ресурсы:
| Название | Описание | Типы правил | Ресурсы |
|---|---|---|---|
| regex-protection | Правило защиты от угроз на основе регулярных выражений может защитить ваши внутренние API и микросервисы от атак с использованием SQL-инъекций. | Н/Д | |
| oauth-validate-key-secret | Вы реализуете процесс предоставления доступа по протоколу OAuth с использованием пароля. Вам нужно проверить ключ и секрет клиента приложения в Edge, прежде чем вызывать внешнего поставщика идентификационной информации для проверки учетных данных пользователя. | OAuthV2 и другие | Н/Д |
| condition-pattern-matching | Этот прокси-сервер API позволяет легко опробовать и протестировать условные операторы в потоке прокси-сервера API. | AssignMessage | Н/Д |
| access-entity | Показывает, как извлекать профили объектов из хранилища данных Apigee Edge. | AssignMessage AccessEntity ExtractVariables |
Нет |
| apikey | Реализует простую проверку ключа API | VerifyAPIKey AssignMessage Quota |
Нет |
| async-callout | Простой асинхронный вызов с использованием httpClient JavaScript. | Javascript | assemble_response.js callout.js |
| base64encoder | Показывает, как вызывать JavaScript из ресурсов JavaScript в прокси API. | AssignMessage Javascript |
core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| conditional-policy | Реализует простое условное применение правил. Если запрос содержит HTTP-заголовок responsetime:true, правило выполняет скрипт Python, который добавляет в сообщение ответа набор показателей эффективности в виде HTTP-заголовков. | Скрипт (Python) | timer.py |
| dynamic-endpoint | Реализует простую условную маршрутизацию в более сложном сценарии, в котором определены два URL и один маршрут по умолчанию. | Нет | Нет |
| jira-release-notes | Этот прокси-сервер API используется командой документации Apigee для создания примечаний к выпуску на основе данных Jira. | JSONToXML XSL |
releasenotes_api.xsl |
| kerberos-credential-mediation | В этом примере показано, как выполнить посредничество учетных данных Kerberos в Apigee Edge. | JavaCallout | JAR-файл Java |
| oauth-advanced | Полный рабочий пример процесса с типом предоставления доступа "Код авторизации" и Apigee Edge в качестве сервера авторизации. |
GenerateAccessToken и многие другие. |
посмотреть пример кода; |
| oauth-client-credentials | Показывает полностью функциональную конечную точку токена OAuth 2.0, настроенную для типа предоставления учетных данных клиента. | GenerateAccessToken | Нет |
| oauth-login-app | Устаревший метод. Вместо этого рекомендуем использовать пример oauth-advanced. | ||
| oauth-validate-key-secret | Показывает методику проверки ключа и секрета клиента, прежде чем вызывать поставщика идентификационной информации для проверки учетных данных пользователя в потоке с типом предоставления доступа по паролю. | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
Нет |
| oauth-verify-accesstoken | Пример прокси-сервера API, настроенного для проверки токенов доступа OAuth 2.0 и квоты. | VerifyAccessToken Quota |
Нет |
| oauth10a-3legged | Показывает трехстороннюю конфигурацию OAuth 1.0a. | GenerateAccessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
Нет |
| outbound-oauth | Использует Microsoft Azure Translator API для перевода твитов. Для этого он выполняет исходящий вызов, чтобы получить токен доступа OAuth, а затем кеширует токен, используя правила кеширования API Services, и повторно использует кешированный токен при каждом исходящем вызове. Также содержит демонстрационное браузерное приложение, используемое для вызова прокси-сервера API. | AssignMessage LookupCache PopulateCache Javascript |
api-config.js api-token-get.js translate-query.js translate-results.js |
| Разбивка на страницы | Разбивает XML-ответ на страницы на основе параметров limit и offset, предоставленных клиентом. | AssignMessage ExtractVariables ResponseCache VerifyApiKey XSL |
paginate.xslt |
| response-cache | Показывает, как кешировать прогнозы погоды в Edge в течение 10 минут. | ResponseCache AssignMessage |
Нет |
| simple-python | Приведен простой пример прикрепления к ответу скрипта на языке Python, который добавляет в него значение заголовка. |
Скрипт (Python) | setHeader.py |
| мыло | Показывает, как преобразование XSL переписывает файл WSDL в ответ на запрос с параметром запроса ?wsdl. | AssignMessage ExtractVariables Script (Python) XSL |
calculateaddress.py fixwsdl.xsl |
| стриминг | Демонстрирует конфигурацию потоковой передачи HTTP. | Нет | Нет |
| target-reroute | Показывает, как с помощью JavaScript динамически выбирать целевой URL на основе контента сообщения запроса. | ExtractVariables Javascript |
rewriteTargetUrl.js |
| twitter-mobile-timeline | В этом примере показано, как с помощью JavaScript удалить ненужные параметры из твитов, чтобы упростить ленту Twitter и сделать ее удобной для мобильных устройств с ограниченными ресурсами. | AssignMessage Javascript |
MobileTimeline.js |
| twitter-oembed | Преобразует ответы хронологии (например, из statuses/user_timeline.json) в ответ oEmbed, который содержит данные хронологии в виде расширенного HTML-контента. | AssignMessage JavaScript |
search-oembed.js |
| Переменные | Показывает, как извлекать и задавать переменные на основе транспортных данных и контента сообщений JSON и XML. | AssignMessage ExtractVariables XMLToJSON |
minimize.js |
| xmltojson | Преобразует данные ответа из XML в JSON. | XMLToJSON JSONToXML |
Нет |
|
|
Файлы XML-схем, которые можно использовать в качестве справочных материалов при настройке прокси API, правил, продуктов API, а также профилей разработчиков и приложений. |
||
|
|
Содержит инструмент развертывания deploy.py, который импортирует прокси-сервер API в организацию в Apigee Edge, а затем развертывает его в указанной среде. |
||
|
|
Инструмент создания снимка организации извлекает настройки организации, в том числе сведения о разработчиках, продуктах API, виртуальных хостах, картах "ключ-значение" и т. д. Его можно использовать для создания резервной копии данных организации или для изучения ее настроек. |
Apigee-127
Если вы программист, Apigee-127 поможет вам быстро приступить к созданию прокси API с помощью Node.js и Swagger. Примеры a127 также можно найти на GitHub: https://github.com/apigee-127/a127-samples.
Поделитесь впечатлениями
Поделитесь своим опытом на форуме разработчиков Apigee.