Вы просматриваете документацию 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-cookbook | Демонстрирует простой фрагмент кода на JavaScript, который добавляет HTTP-заголовки из переменных, преобразует XML-форматированный прогноз погоды из JSON в XML и сокращает контент для мобильных устройств. | minimize.js setHeaders.js | |
| javascript-mashup-cookbook | Полноценное JavaScript-приложение, которое обращается к общедоступным API, объединяет результаты и генерирует расширенный ответ для клиентского приложения. (Примечание: этот API-прокси реализует ту же функциональность, что и policy-mashup, демонстрируя, что одну и ту же проблему можно решить с помощью разных методов.) | JavaScript | MashItUp.js |
| java-hello | Простая Java-заставка "Hello World". | JavaCallout | JavaHello.java |
| java-cookbook | Преобразует содержимое ответа и заголовки в верхний регистр. | JavaCallout | ResponseUppercase.java |
| java-properties | Демонстрирует, как использовать свойства в вызове Java-функции. | JavaCallout | JavaProperties.java |
| java-error | Демонстрирует шаблоны обработки ошибок, которые можно использовать в коде вызовов Java. | JavaCallout | JavaError.java |
| политический сборник рецептов | Полноценное приложение, использующее композицию политик для вызова двух общедоступных API, объединения результатов и генерации расширенного ответа для клиентского приложения. (Примечание: этот API-прокси реализует ту же функциональность, что и javascript-mashup, демонстрируя, что одну и ту же проблему можно решить с помощью разных методов.) | AssignMessage Вызов сервисной службы Извлечение переменных JavaScript XMLToJSON | GenerateResponse.js |
Примеры API-прокси
Следующие API-прокси находятся на GitHub, где в файлах README приведены подробные описания примеров. Если вас интересует, как работает конкретная политика в примере, найдите интересующую вас политику в столбце «Типы политик» ниже, а затем щелкните название примера в столбце «Название». (Ссылки на соответствующие справочные страницы политик находятся в документации.)
Справочник и инструменты
В дополнение к примерам документации и примерам прокси-серверов, представленным в таблицах выше, примеры Edge на GitHub также содержат следующие ресурсы:
| Имя | Описание | Типы полисов | Ресурсы |
|---|---|---|---|
| защита регулярных выражений | Политика защиты от угроз, связанных с регулярными выражениями, может защитить ваши бэкэнд-API и микросервисы от SQL-инъекций. | Н/Д | |
| oauth-validate-key-secret | Вы реализуете поток предоставления доступа по типу пароля OAuth. Вам необходимо проверить как ключ клиента приложения, так и секретный ключ на Edge, прежде чем обращаться к внешнему поставщику идентификации для проверки учетных данных пользователя. | OAuthV2 , другие | Н/Д |
| сопоставление условий и шаблонов | Этот прокси-сервер позволяет легко опробовать и протестировать условные операторы в потоке API-прокси. | AssignMessage | Н/Д |
| доступ-сущность | Показано, как получить профили сущностей из хранилища данных Apigee Edge. | AssignMessage AccessEntity Извлечение переменных | никто |
| апикей | Реализует простую проверку ключа API. | VerifyAPIKey AssignMessage Квота | никто |
| асинхронный вызов | Демонстрирует простой асинхронный вызов с использованием JavaScript-библиотеки httpClient. | JavaScript | assemble_response.js callout.js |
| кодировщик base64 | Демонстрирует, как вызывать JavaScript-включения из JavaScript-ресурсов в API-прокси. | AssignMessage JavaScript | core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| условная политика | Реализует простое условное применение политик. Когда запрос содержит HTTP-заголовок responsetime:true, политика выполняет скрипт на Python, который добавляет набор метрик производительности к ответному сообщению в качестве HTTP-заголовков. | Скрипт (Python) | timer.py |
| динамическая конечная точка | Реализует простую условную маршрутизацию в несколько более сложном сценарии, определяющем два URL-адреса и один маршрут по умолчанию. | никто | никто |
| jira-release-notes | Это API-прокси, используемый командой разработчиков документации Apigee для генерации примечаний к релизам из Jira. | JSONToXML XSL | releasenotes_api.xsl |
| посредничество с использованием учетных данных Kerberos | В этом примере показано, как выполнить посредничество учетных данных Kerberos на Apigee Edge. | JavaCallout | Java JAR-файл |
| oauth-advanced | Полный, работающий пример процесса предоставления кода авторизации с использованием Apigee Edge в качестве сервера авторизации. | GenerateAccessToken Многие другие... | см. пример кода |
| oauth-client-credentials | Демонстрирует полностью функциональную конечную точку для передачи токенов OAuth 2.0, настроенную для типа предоставления учетных данных клиента. | GenerateAccessToken | никто |
| oauth-login-app | Устарело. Рекомендуем использовать пример oauth-advanced . | ||
| oauth-validate-key-secret | В статье представлен метод проверки ключа и секрета клиента перед обращением к поставщику идентификационных данных для проверки учетных данных пользователя в процессе предоставления доступа по паролю. | OAuthV2 AssignMessage Извлечение переменных Вызов сервисной службы RaiseFault | никто |
| oauth-verify-accesstoken | Демонстрирует API-прокси, настроенный для проверки токенов доступа OAuth 2.0 и проверки квоты. | VerifyAccessToken Квота | никто |
| oauth10a-3legged | Демонстрирует трехконтактную конфигурацию OAuth 1.0a. | GenerateAceesToken GenerateRequestToken Вызов сервисной службы VerifyAccessToken | никто |
| исходящая-OAuth | Использует API переводчика Microsoft Azure для перевода твитов. Для этого он выполняет исходящий вызов для получения токена доступа OAuth, а затем кэширует этот токен, используя политики кэширования API Services, повторно используя кэшированный токен каждый раз при выполнении исходящего вызова. Также включает демонстрационное браузерное приложение, используемое для вызова прокси-сервера API. | AssignMessage LookupCache PopulateCache JavaScript | api-config.js api-token-get.js translate-query.js translate-results.js |
| нумерация страниц | Разбивает XML-ответ на страницы на основе параметров ограничения и смещения, предоставленных клиентом. | AssignMessage Извлечение переменных ResponseCache VerifyApiKey XSL | paginate.xslt |
| кэш ответов | Демонстрирует, как кэшировать прогнозы погоды в Edge на 10 минут. | ResponseCache AssignMessage | никто |
| простой-python | Демонстрируется простой сценарий прикрепления скрипта Python к ответ, который добавляет к нему значение заголовка. | Скрипт (Python) | setHeader.py |
| мыло | Демонстрирует XSL-преобразование, которое перезаписывает WSDL-файл в ответ на запрос с параметром запроса ?wsdl. | AssignMessage Извлечение переменных Скрипт (Python) XSL | calculateaddress.py fixwsdl.xsl |
| потоковое вещание | Демонстрирует конфигурацию потоковой передачи HTTP. | никто | никто |
| перенаправление цели | Демонстрирует использование JavaScript для динамического выбора целевого URL-адреса на основе содержимого запроса. | Извлечение переменных 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 Извлечение переменных XMLToJSON | minimize.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 .