Список образцов

Вы просматриваете документацию по 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 и сокращает контент для мобильных клиентов.

Javascript
XMLToJSON

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
GenerateAuthCode
RefreshAccessToken

и многие другие.

посмотреть пример кода;
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
Нет

/schemas

Файлы XML-схем, которые можно использовать в качестве справочных материалов при настройке прокси API, правил, продуктов API, а также профилей разработчиков и приложений.

/tools

Содержит инструмент развертывания deploy.py, который импортирует прокси-сервер API в организацию в Apigee Edge, а затем развертывает его в указанной среде.

/org-snapshot

Инструмент создания снимка организации извлекает настройки организации, в том числе сведения о разработчиках, продуктах API, виртуальных хостах, картах "ключ-значение" и т. д. Его можно использовать для создания резервной копии данных организации или для изучения ее настроек.

Apigee-127

Если вы программист, Apigee-127 поможет вам быстро приступить к созданию прокси API с помощью Node.js и Swagger. Примеры a127 также можно найти на GitHub: https://github.com/apigee-127/a127-samples.

Поделитесь впечатлениями

Поделитесь своим опытом на форуме разработчиков Apigee.