Вы просматриваете документацию Apigee Edge .
Перейти к документации Apigee X. info
Примеры API Apigee Edge содержат образцы прокси-серверов API, политик, кода и инструментов, которые иллюстрируют возможности API-сервисов Apigee Edge, описанные ниже.
Инструкции по использованию образцов см. в разделе Использование образцов прокси-серверов API .
Учись, делая
Хотите быстро приступить к работе и создать прочную базу знаний по Apigee Edge? У нас есть библиотека примеров «learn-edge» на GitHub, которая позволит вам быстро развернуть, вызвать и отследить несколько примеров прокси-серверов, начиная с самого простого и заканчивая прокси-серверами, иллюстрирующими валидацию ключей API, квоты, кэширование ответов, обработку ошибок и многое другое.
После клонирования репозитория и настройки среды (это занимает всего несколько минут) вы сможете опробовать каждый пример менее чем за минуту . Поскольку каждый пример создаёт новую версию одного и того же прокси-сервера, ваша среда не будет перегружена большим количеством примеров. Вы можете переключаться между ревизиями, повторно развертывать другую версию в интерфейсе управления и в любое время просматривать код прокси-сервера. Файл readme для каждого примера также содержит краткое описание того, что делает этот пример и как он настроен.
Попробуйте! https://github.com/apigee/api-platform-samples/tree/master/learn-edge
Образцы кулинарной книги Doc
Для тем книги рецептов API-прокси предоставляется набор примеров.
| Имя | Описание | Типы политики | Ресурсы |
|---|---|---|---|
| javascript-кулинарная книга | Демонстрирует простой фрагмент JavaScript, который добавляет заголовки HTTP из переменных, преобразует отформатированный в формате XML прогноз погоды из JSON в XML и обрезает контент для мобильных клиентов. | минимизировать.js setHeaders.js | |
| javascript-mashup-cookbook | Полноценное приложение JavaScript, которое обращается к публичным API, объединяет результаты и генерирует расширенный ответ для клиентского приложения. (Примечание: этот прокси-API реализует ту же функциональность, что и гибридная политика, демонстрируя, что одну и ту же проблему можно решить с помощью разных методов.) | Javascript | MashItUp.js |
| java-привет | Простая выноска «Привет, мир!» на Java. | JavaCallout | JavaHello.java |
| java-cookbook | Преобразует содержимое ответа и заголовки в верхний регистр. | JavaCallout | ResponseUppercase.java |
| java-свойства | Демонстрирует, как использовать свойства в выноске Java. | JavaCallout | JavaProperties.java |
| java-ошибка | Демонстрирует шаблоны обработки ошибок, которые можно использовать в коде Java Callout. | JavaCallout | JavaError.java |
| политика-мэшап-кулинарная книга | Полноценное приложение, которое использует композицию политики для вызова двух общедоступных API, объединяет результаты и генерирует расширенный ответ для клиентского приложения. (Примечание: этот прокси-API реализует ту же функциональность, что и javascript-mashup, демонстрируя, что одну и ту же проблему можно решить с помощью разных методов.) | Назначить сообщение ServiceCallout Извлечь переменные Javascript XMLToJSON | GenerateResponse.js |
Примеры API-прокси
Следующие прокси-серверы API находятся на GitHub, где на страницах readme представлены подробные описания примеров. Если вам интересно, как работает конкретная политика в примере, найдите интересующую вас политику в столбце «Типы политик» ниже, затем нажмите на название примера в столбце «Имя». (Политики связаны со справочными страницами в документации.)
Справочники и инструменты
Помимо примеров из кулинарной книги doc и примеров прокси-серверов, представленных в таблицах выше, примеры Edge GitHub также содержат следующие ресурсы:
| Имя | Описание | Типы политики | Ресурсы |
|---|---|---|---|
| r egex-защита | Политика защиты от угроз с помощью регулярных выражений может защитить ваши внутренние API и микросервисы от атак с использованием SQL-инъекций. | Н/Д | |
| oauth-validate-key-secret | Вы реализуете поток предоставления пароля OAuth. Вам необходимо проверить как ключ клиента приложения, так и секрет на Edge, прежде чем вызывать внешнего поставщика удостоверений для проверки учётных данных пользователя. | OAuthV2 , другие | Н/Д |
| сопоставление условий и шаблонов | Этот прокси-сервер позволяет вам легко опробовать и протестировать условные операторы в потоке прокси-API. | Назначить сообщение | Н/Д |
| объект доступа | Показывает, как извлекать профили сущностей из хранилища данных Apigee Edge. | Назначить сообщение AccessEntity Извлечь переменные | никто |
| апики | Реализует простую проверку ключа API | VerifyAPIKey Назначить сообщение Квота | никто |
| асинхронный вызов | Демонстрирует простой асинхронный вызов с использованием JavaScript httpClient. | Javascript | assemble_response.js callout.js |
| кодировщик base64 | Демонстрирует, как вызывать включения JavaScript из ресурсов JavaScript в прокси API. | Назначить сообщение Javascript | core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| условная политика | Реализует простое условное применение политики. Когда запрос содержит HTTP-заголовок responsetime:true, политика выполняет скрипт Python, который добавляет набор показателей производительности в ответное сообщение в виде HTTP-заголовков. | Скрипт (Python) | таймер.py |
| динамическая конечная точка | Реализует простую условную маршрутизацию в немного более сложном сценарии, который определяет два URL-адреса и один маршрут по умолчанию. | никто | никто |
| jira-release-notes | Это прокси-сервер API, используемый командой документооборота Apigee для создания заметок о выпуске из Jira. | JSONToXML XSL | releasenotes_api.xsl |
| посредничество учетных данных Kerberos | В этом примере показано, как выполнить посредничество учетных данных Kerberos на Apigee Edge. | JavaCallout | JAR-файл Java |
| oauth-расширенный | Полный рабочий пример потока предоставления кода авторизации с Apigee Edge в качестве сервера авторизации. | GenerateAccessToken Многие другие... | см. пример кода |
| oauth-клиент-учетные данные | Демонстрирует полнофункциональную конечную точку токена OAuth 2.0, настроенную для типа предоставления учетных данных клиента. | GenerateAccessToken | никто |
| oauth-login-app | Устарело. Рекомендуем вместо этого рассмотреть пример oauth-advanced . | ||
| oauth-validate-key-secret | Демонстрирует методику проверки ключа и секрета клиента перед вызовом поставщика удостоверений для проверки учетных данных пользователя в потоке предоставления пароля. | OAuthV2 Назначить сообщение Извлечь переменные ServiceCallout RaiseFault | никто |
| oauth-verify-accesstoken | Демонстрирует API-прокси, настроенный для проверки токенов доступа OAuth 2.0 и проверки квоты. | VerifyAccessToken Квота | никто |
| oauth10a-3legged | Демонстрирует трехступенчатую конфигурацию OAuth 1.0a. | GenerateAceessToken GenerateRequestToken ServiceCallout VerifyAccessToken | никто |
| исходящая oauth | Использует API переводчика Microsoft Azure для перевода твитов. Для этого он выполняет исходящий вызов для получения токена доступа OAuth, а затем кэширует токен с помощью политик кэширования API Services, повторно используя кэшированный токен при каждом исходящем вызове. Также включает демонстрационное браузерное приложение для вызова прокси-сервера API. | Назначить сообщение LookupCache PopulateCache Javascript | api-config.js api-token-get.js translate-query.js translate-results.js |
| пагинация | Разбивает на страницы ответное сообщение XML на основе параметров лимита и смещения, предоставленных клиентом. | Назначить сообщение Извлечь переменные ResponseCache VerifyApiKey XSL | paginate.xslt |
| кэш ответов | Демонстрирует, как кэшировать прогнозы погоды в Edge на 10 минут. | ResponseCache Назначить сообщение | никто |
| простой питон | Демонстрирует простой сценарий присоединения скрипта Python в ответ, который добавляет к нему значение заголовка. | Скрипт (Python) | setHeader.py |
| мыло | Демонстрирует преобразование XSL, которое перезаписывает файл WSDL в ответ на запрос с параметром запроса ?wsdl. | Назначить сообщение Извлечь переменные Скрипт (Python) XSL | calculateaddress.py fixwsdl.xsl |
| потоковая передача | Демонстрирует конфигурацию потоковой передачи HTTP. | никто | никто |
| цель-перенаправление | Демонстрирует использование JavaScript для динамического выбора целевого URL на основе содержания сообщения-запроса. | Извлечь переменные Javascript | rewriteTargetUrl.js |
| twitter-mobile-timeline | Демонстрирует, как использовать JavaScript для удаления ненужных параметров из твитов, что приводит к упрощению шкалы времени Twitter, удобной для мобильных устройств с ограниченными ресурсами. | Назначить сообщение Javascript | MobileTimeline.js |
| twitter-oembed | Преобразует ответы временной шкалы (например, из statuses/user_timeline.json) в ответ oEmbed, содержащий данные временной шкалы в виде расширенного HTML-контента. | Назначить сообщение JavaScript | search-oembed.js |
| переменные | Демонстрирует, как извлекать и устанавливать переменные на основе транспорта и содержимого сообщений JSON и XML. | Назначить сообщение Извлечь переменные XMLToJSON | минимизировать.js |
| xmltojson | Преобразует данные ответа из XML в JSON. | XMLToJSON JSONToXML | никто |
| Файлы схем XML, которые можно использовать в качестве справочного материала при настройке прокси-серверов API, политик, продуктов API, а также профилей разработчиков и приложений. | ||
| Содержит инструмент развертывания deploy.py, который импортирует прокси-сервер API в организацию на Apigee Edge, а затем развертывает его в указанной среде. | ||
| Инструмент создания снимков организации извлекает настройки организации, включая разработчиков, продукты API, виртуальные хосты, карты ключей и значений и т. д. Его можно использовать для резервного копирования сведений об организации или для обнаружения настроек в организации. |
Апигей-127
Если вы программист, Apigee-127 поможет вам начать писать API-прокси на Node.js и Swagger. Вы также можете найти примеры a127 на GitHub: https://github.com/apigee-127/a127-samples .
Поделитесь своим опытом
Поделитесь своим опытом на форуме разработчиков Apigee .