Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Опубликуйте API на своем портале, чтобы сделать их доступными для использования разработчиками приложений, как описано в следующих разделах.
Обзор публикации API
Процесс публикации API на вашем портале состоит из двух этапов:
- Выберите продукт API, который вы хотите опубликовать на своем портале.
- Отобразите справочную документацию по API из снимка вашего документа OpenAPI или схемы GraphQL, чтобы разработчики приложений могли узнать о ваших API. (Дополнительную информацию о моментальных снимках см. в разделе Что такое моментальный снимок? ).
Что публикуется на портале?
Когда вы публикуете API, на вашем портале автоматически вносятся следующие обновления:На странице API (входящей в состав примера портала ) представлен список всех API, опубликованных на вашем портале, в алфавитном порядке, со ссылками на соответствующую справочную документацию по API для получения дополнительной информации. При желании вы можете настроить следующее:
- Изображение отображается для каждой карты API
- Категории, используемые для маркировки API, чтобы разработчики могли находить связанные API на странице API.
СмартДокс (OpenAPI)
Когда вы публикуете API с использованием документа OpenAPI, на ваш портал добавляется справочная документация по API SmartDocs.
Разработчики могут просмотреть справочную документацию по API SmartDocs и использовать панель «Попробуйте этот API» , чтобы сделать запрос API и просмотреть результат. Попробуйте этот API работает с незащищенными конечными точками или с защищенными конечными точками с использованием базовой аутентификации, ключа API или аутентификации OAuth в зависимости от метода безопасности, определенного в вашем документе OpenAPI. Для OAuth поддерживаются следующие потоки: код авторизации, пароль и учетные данные клиента.
Нажмите чтобы развернуть панель «Попробуйте этот API». Расширенная панель позволяет просматривать вызов Curl и примеры кода в различных форматах, таких как HTTP, Python, Node.js и других, как показано ниже.
GraphQL Explorer
Когда вы публикуете API с использованием схемы GraphQL, на ваш портал добавляется GraphQL Explorer. GraphQL Explorer — это интерактивная площадка для выполнения запросов к вашему API. Проводник основан на GraphiQL , эталонной реализации GraphQL IDE, разработанной GraphQL Foundation.
Разработчики могут использовать GraphQL Explorer для изучения интерактивной документации на основе схемы, построения и выполнения запросов, просмотра результатов запросов и загрузки схемы. Чтобы защитить доступ к вашему API, разработчики могут передавать заголовки авторизации на панели «Заголовки запросов» .
Дополнительную информацию о GraphQL см. на сайтеgraphql.org .
Что такое снимок?
Каждый документ OpenAPI или GraphQL служит источником достоверной информации на протяжении всего жизненного цикла API. Один и тот же документ используется на каждом этапе жизненного цикла API: от разработки до публикации и мониторинга. Изменяя документ, вы должны осознавать влияние этих изменений на ваш API на других этапах жизненного цикла, как описано в разделе «Что произойдет, если я изменю документ?»
Публикуя свой API, вы делаете снимок документа OpenAPI или GraphQL для отображения справочной документации по API. Этот снимок представляет конкретную версию документа. Если вы измените документ, вы можете решить сделать еще один снимок документа, чтобы отразить последние изменения в справочной документации API.
Об URL-адресах обратного вызова
Если вашим приложениям требуется URL-адрес обратного вызова, например при использовании типа предоставления кода авторизации OAuth 2.0 (часто называемого «трехсторонним OAuth»), вы можете потребовать от разработчиков указать URL-адрес обратного вызова при регистрации своих приложений. URL-адрес обратного вызова обычно указывает URL-адрес приложения, предназначенного для получения кода авторизации от имени клиентского приложения. Дополнительные сведения см. в разделе Реализация типа предоставления кода авторизации .
Вы можете настроить, требуется или нет URL-адрес обратного вызова во время регистрации приложения при добавлении API на ваш портал . Вы можете изменить этот параметр в любое время, как описано в разделе «Управление URL-адресом обратного вызова для API» .
При регистрации приложения разработчики должны ввести URL-адрес обратного вызова для всех API, которым он требуется, как описано в разделе «Регистрация приложений» .
Настройте свой прокси-сервер API для поддержки «Попробуйте этот API»
Прежде чем публиковать свои API с использованием документа OpenAPI, вам необходимо настроить прокси-сервер API для поддержки выполнения запросов на панели «Попробуйте этот API» в справочной документации по API SmartDocs, как показано ниже:
- Добавьте поддержку CORS в свои прокси API, чтобы обеспечить выполнение запросов между источниками на стороне клиента.
CORS — это стандартный механизм, который позволяет вызовам JavaScript XMLHttpRequest (XHR), выполняемым на веб-странице, взаимодействовать с ресурсами из доменов, не являющихся источниками происхождения. CORS — это широко распространенное решение « политики одного и того же происхождения », которая применяется всеми браузерами.
- Обновите конфигурацию прокси-сервера API, если вы используете базовую аутентификацию или OAuth2.
В следующей таблице приведены требования к конфигурации прокси-сервера API для поддержки панели «Попробуйте этот API» в справочной документации API SmartDocs на основе доступа с аутентификацией.
Авторизация доступа | Требования к конфигурации политики |
---|---|
Нет или ключ API | Добавьте поддержку CORS в свой прокси API. Для удобства воспользуйтесь примером решения CORS , представленным на GitHub, или выполните действия, описанные в разделе Добавление поддержки CORS в прокси-сервер API . |
Базовая аутентификация | Выполните следующие шаги:
|
ОАут2 |
|
Изучите каталог API
Чтобы просмотреть каталог API: 1. Выберите «Опубликовать» > «Порталы» и выберите свой портал. 2. Нажмите Каталог API на главной странице портала. Альтернативно вы можете выбрать каталог API в раскрывающемся меню портала на верхней панели навигации.
На вкладке API в каталоге API отображается список API, добавленных на ваш портал.
Как показано на предыдущем рисунке, вкладка API позволяет:
- Просмотрите подробную информацию об API, доступных на вашем портале.
- Добавьте API на свой портал
- Измените API на своем портале, выполнив одну или несколько из следующих задач:
- Управляйте снимком документа, связанного с продуктом API, для обновления справочной документации API.
- Опубликовать или отменить публикацию API на вашем портале
- Управляйте видимостью API на вашем портале :
- Управление URL-адресом обратного вызова для API
- Управление изображением карты API
- Пометьте API, используя категории
- Отредактируйте название и описание API
- Удалите API с вашего портала
- Управляйте категориями, используемыми для обнаружения связанных API.
- Быстро выявляйте устаревшие или удаленные из хранилища спецификаций спецификации.
- Быстро выявляйте «потерянные» API, связанный с которыми продукт API был удален из Edge, и заново создайте продукт API или удалите API со своего портала.
Добавьте API на свой портал
Чтобы добавить API на ваш портал:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
Нажмите + .
Откроется диалоговое окно «Добавление продукта API в каталог».
Выберите продукт API, который вы хотите добавить на свой портал.
Нажмите Далее . Откроется страница сведений об API.
Настройте содержимое справочной документации API и ее видимость на портале:
Поле Описание Опубликовано Выберите Опубликовано , чтобы опубликовать API на вашем портале. Снимите флажок, если вы не готовы опубликовать API. Вы можете изменить этот параметр позже, как описано в разделе Публикация или отмена публикации API на вашем портале . Отображать заголовок Обновите название вашего API, отображаемое в каталоге. По умолчанию используется имя продукта API. Вы можете изменить отображаемый заголовок позже, как описано в разделе «Редактирование отображаемого заголовка и описания» . Описание дисплея Обновите описание вашего API, отображаемое в каталоге. По умолчанию используется описание продукта API. Вы можете изменить описание отображения позже, как описано в разделе «Редактирование заголовка и описания отображения» . Требовать от разработчиков указания URL-адреса обратного вызова Включите этот параметр, если вы хотите, чтобы разработчики приложений указывали URL-адрес обратного вызова . Вы можете добавить или обновить URL-адрес обратного вызова позже, как описано в разделе «Управление URL-адресом обратного вызова для API» . Документация по API Чтобы использовать документ OpenAPI: - Выберите документ OpenAPI .
- Нажмите Выбрать документ .
- Выполните один из следующих шагов:
- Перейдите на вкладку «Мои спецификации» и выберите спецификацию в хранилище спецификаций.
- Перейдите на вкладку «Загрузить файл» и загрузите файл.
- Перейдите на вкладку «Импорт из URL-адреса» и импортируйте спецификацию из URL-адреса.
- Нажмите «Выбрать» .
Чтобы использовать схему GraphQL:
- Выберите схему GraphQL .
- Нажмите «Выбрать документ» .
- Перейдите и выберите схему GraphQL.
- Нажмите «Выбрать» .
Альтернативно вы можете выбрать «Нет документации» и добавить ее позже, после добавления API, как описано в разделе «Управление снимком документа» .
видимость API Если вы не зарегистрировались в бета-версии функции управления аудиторией , выберите один из следующих вариантов:
- Анонимные пользователи , чтобы все пользователи могли просматривать API.
- Зарегистрированные пользователи , чтобы разрешить просмотр API только зарегистрированным пользователям.
Если вы зарегистрировались на бета-версию функции управления аудиторией , выберите один из следующих вариантов:
- Публичный (видимый всем), чтобы все пользователи могли просматривать API.
- Аутентифицированные пользователи , чтобы разрешить просмотр API только зарегистрированным пользователям.
- Выбранные аудитории, чтобы выбрать конкретные аудитории, которым вы хотите иметь возможность просматривать API.
Управлять видимостью аудитории можно позже, как описано в разделе Управление видимостью API на портале .
Показать изображение Чтобы отобразить изображение на карточке API на странице API, нажмите «Выбрать изображение» . В диалоговом окне «Выбор изображения» выберите существующее изображение, загрузите новое изображение или укажите URL-адрес внешнего изображения и нажмите «Выбрать» . Просмотрите миниатюру API и нажмите «Выбрать» . Вы можете добавить изображение позже, как описано в разделе «Управление изображением для карты API» . При указании изображения с внешним URL-адресом изображение не будет загружено в ваши ресурсы; кроме того, загрузка изображения на интегрированном портале будет зависеть от его доступности, которая может быть заблокирована или ограничена политиками безопасности контента . Категории Добавьте категории, к которым будет помечен API, чтобы разработчики приложений могли находить связанные API на странице API. Чтобы определить категорию:
- Выберите категорию из раскрывающегося списка.
- Добавьте новую категорию, введя ее имя и нажав Enter . Новая категория будет добавлена на страницу «Категории» и станет доступной при добавлении или редактировании других API.
Нажмите Сохранить .
Управление снимком документа
После публикации API вы в любой момент можете сделать новый снимок документа OpenAPI или GraphQL, чтобы обновить справочную документацию по API, опубликованную на вашем портале.
Чтобы управлять снимком документа:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
- Нажмите на строку API, который вы хотите изменить.
- Проверьте статус моментального снимка. Если дата устарела, отображается следующее сообщение:
- Нажмите .
- Выполните одну из следующих задач:
- Чтобы обновить снимок устаревшего документа OpenAPI, нажмите «Обновить снимок» .
- Чтобы изменить документ, который используется для создания документации для API, в разделе «Документация API» нажмите «Выбрать документ» и выберите новый документ.
- Нажмите Сохранить .
Справочная документация API отображается из документа и добавляется на страницу справки по API. Статус снимка обновляется до текущего:
Опубликовать или отменить публикацию API на вашем портале
Чтобы опубликовать или отменить публикацию API на вашем портале:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
- Щелкните строку API, который вы хотите изменить.
- Нажмите .
- В разделе «Сведения об API» выберите или снимите флажок «Опубликовано» (указан в каталоге), чтобы опубликовать или отменить публикацию API на вашем портале соответственно.
- Нажмите Сохранить .
Управляйте видимостью API на вашем портале
Управляйте видимостью API на своем портале, разрешив доступ к:
- Публичный (виден всем)
- Аутентифицированные пользователи
- Выбранные аудитории (если вы зарегистрировались в бета-версии функции управления аудиторией )
Чтобы управлять видимостью API на вашем портале:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
- Щелкните строку API, который вы хотите изменить.
- Нажмите .
- В разделе «Видимость API» выберите один из следующих вариантов:
Выберите настройку видимости. Если вы зарегистрировались для участия в бета-версии функции «Аудитории» , выберите один из следующих вариантов:
- Открытый (видимый всем), чтобы все пользователи могли просматривать страницу.
- Аутентифицированные пользователи , чтобы разрешить просмотр страницы только зарегистрированным пользователям.
- Выбранные аудитории , чтобы выбрать конкретные аудитории, которым вы хотите иметь возможность просматривать страницу. См. раздел Управление аудиторией вашего портала .
- Анонимные пользователи , чтобы разрешить всем пользователям просматривать страницу.
- Зарегистрированные пользователи , чтобы разрешить просмотр страницы только зарегистрированным пользователям.
Нажмите «Отправить» .
Управление URL-адресом обратного вызова для API
Управляйте URL-адресом обратного вызова для API. См. раздел «Об URL-адресах обратного вызова» .
Чтобы управлять URL-адресом обратного вызова для API:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
- Нажмите на строку API, который вы хотите изменить.
- Нажмите .
- В разделе «Сведения об API» выберите или снимите флажок «Опубликовано» (указан в каталоге), чтобы опубликовать или отменить публикацию API на вашем портале соответственно.
- Нажмите Сохранить .
Управление изображением карты API
Управляйте изображением, которое отображается вместе с карточкой API на странице API, добавляя или изменяя текущее изображение.
Чтобы управлять изображением карты API:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
- Нажмите на строку API, который вы хотите изменить.
- Нажмите .
В деталях API:
- Нажмите «Выбрать изображение» , чтобы указать или загрузить изображение, если в данный момент изображение не выбрано.
- Нажмите «Изменить изображение» , чтобы указать или загрузить другое изображение.
- Нажмите x на изображении, чтобы удалить его.
При указании изображения укажите либо изображение с внешним URL-адресом, используемым для элемента каталога, либо путь к файлам изображений, хранящимся на портале , например,
/files/book-tree.jpg
. При указании URL-адреса внешнего изображения изображение не будет загружено в ваши ресурсы; кроме того, загрузка изображения на интегрированном портале будет зависеть от его доступности, которая может быть заблокирована или ограничена политиками безопасности контента .Нажмите Сохранить .
Пометьте API, используя категории
Пометьте API, используя категории, одним из следующих способов:
- Управляйте категориями, к которым помечен API, при редактировании API, как описано ниже.
- Управляйте API, помеченными в категории, при редактировании категории .
Чтобы пометить API по категориям при редактировании API:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
- Нажмите на строку API, который вы хотите изменить.
- Нажмите .
- Нажмите в поле «Категории» и выполните одно из следующих действий:
- Выберите категорию из раскрывающегося списка.
- Добавьте новую категорию, введя ее имя и нажав Enter . Новая категория будет добавлена на страницу «Категории» и станет доступной при добавлении или редактировании других API.
- Повторите действия, чтобы пометить API для других категорий.
- Нажмите Сохранить .
Отредактируйте отображаемый заголовок и описание.
Чтобы отредактировать отображаемый заголовок и описание:
- Доступ к каталогу API .
- Откройте вкладку API , если она еще не выбрана.
- Нажмите на строку API, который вы хотите изменить.
- Нажмите .
- При необходимости отредактируйте поля «Заголовок дисплея» и «Описание отображения» .
- Нажмите Сохранить .
Удалите API с вашего портала
Чтобы удалить API с вашего портала:
- Доступ к каталогу API .
- Выберите API , если они еще не выбраны.
- Наведите курсор на API в списке, чтобы отобразить меню действий.
- Нажмите .
Управляйте категориями, используемыми для обнаружения связанных API.
Пометьте API, используя категории , чтобы разработчики приложений могли находить связанные API на странице API действующего портала. Добавляйте категории и управляйте ими, как описано в следующих разделах.
Изучите страницу категорий
Чтобы просмотреть страницу категорий:
- Выберите «Опубликовать» > «Порталы» и выберите свой портал.
- Нажмите Каталог API на главной странице портала.
Альтернативно вы можете выбрать каталог API в раскрывающемся меню портала на верхней панели навигации.
- Откройте вкладку «Категории» .
На вкладке «Категории» в каталоге API отображается список категорий, определенных для вашего портала.
Как показано на предыдущем рисунке, страница API позволяет вам:
- Просмотрите категории и API, к которым они привязаны.
- Добавить категорию
- Изменить категорию
- Удалить категорию
- Управляйте API, опубликованными на вашем портале. См. раздел «Изучите каталог API».
Добавить категорию
Добавьте категорию одним из следующих способов:
- Введите название категории при добавлении API на портал.
- Добавьте категорию вручную, как описано ниже.
Новая категория будет добавлена на страницу «Категории» и станет доступной при добавлении или редактировании других API.
Чтобы вручную добавить категорию:
- Откройте страницу категорий .
- Нажмите + .
- Введите название новой категории.
- При необходимости выберите один или несколько API для добавления в категорию.
- Нажмите Создать .
Изменить категорию
Чтобы отредактировать категорию:
- Откройте страницу категорий .
- Нажмите .
- Отредактируйте название категории.
- Добавьте или удалите теги API.
- Нажмите Сохранить .
Удалить категорию
Когда вы удаляете категорию, все теги API этой категории также удаляются.
Чтобы удалить категорию:
- Откройте страницу категорий .
- Наведите курсор на категорию, которую вы хотите отредактировать, чтобы отобразить меню действий.
- Нажмите .
- Отредактируйте название категории.
- Добавьте или удалите API.
- Нажмите Сохранить .
Устранение неполадок с опубликованными API
В следующих разделах представлена информация, которая поможет вам устранить конкретные ошибки с нашими опубликованными API.
Ошибка: не удалось получить ошибку, возвращаемую при использовании Попробуйте этот API
Если при использовании «Попробуйте этот API» возвращается ошибка TypeError: Failed to fetch
, рассмотрите следующие возможные причины и решения:
В случае ошибок со смешанным контентом ошибка может быть вызвана известной проблемой swagger-ui . Один из возможных обходных путей — убедиться, что вы указываете HTTPS перед HTTP в определении
schemes
в вашем документе OpenAPI. Например:schemes: - https - http
При возникновении ошибок ограничения совместного использования ресурсов между источниками (CORS) убедитесь, что CORS поддерживается для ваших прокси-серверов API. CORS — это стандартный механизм, который позволяет выполнять запросы между источниками на стороне клиента. См. раздел Настройка прокси-сервера API для поддержки «Попробуйте этот API» .
Ошибка: заголовок «Access-Control-Allow-Origin» содержит несколько значений «*, *», но разрешено только одно.
При использовании «Попробуйте этот API» вы можете получить следующее сообщение об ошибке, если заголовок Access-Control-Allow-Origin
уже существует:
The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
Чтобы исправить эту ошибку, измените политику AssignMessage, чтобы использовать <Set>
для установки заголовков CORS вместо <Add>
, как показано во фрагменте ниже. Дополнительную информацию можно найти в соответствующей статье сообщества .
<AssignMessage async="false" continueOnError="false" enabled="true" name="add-cors"> <DisplayName>Add CORS</DisplayName> <FaultRules/> <Properties/> <Set> <Headers> <Header name="Access-Control-Allow-Origin">{request.header.origin}</Header> <Header name="Access-Control-Allow-Headers">origin, x-requested-with, accept, content-type, authorization</Header> <Header name="Access-Control-Max-Age">3628800</Header> <Header name="Access-Control-Allow-Methods">GET, PUT, POST, DELETE</Header> </Headers> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="response"/> </AssignMessage>
Ошибка: поле заголовка запроса не разрешено.
Если при использовании «Попробуйте этот API» вы получаете сообщение об ошибке Request header field not allowed
, как показано в примере ниже, вам может потребоваться обновить заголовки, поддерживаемые в политике CORS. Например:
Access to XMLHttpRequest ... has been blocked by CORS policy: Request header field
content-type is not allowed by Access-Control-Allow-Headers in preflight response
В этом примере вам необходимо добавить заголовок content-type
в раздел Access-Control-Allow-Headers
в вашей политике CORS AssignMessage, как описано в разделе «Прикрепление политики добавления CORS к новому прокси-серверу API» .
Ошибка: доступ запрещен при вызове прокси-сервера API с использованием OAuth2.
Политика Apigee OAuthV2 возвращает ответ токена, который содержит определенные свойства, не соответствующие RFC. Например, политика вернет токен со значением BearerToken
вместо ожидаемого значения Bearer
, соответствующего требованиям RFC. Этот неверный ответ token_type
может привести к ошибке Access denied
при использовании «Попробуйте этот API».
Чтобы устранить эту проблему, вы можете создать политику JavaScript или AssignMessage для преобразования выходных данных политики в совместимый формат. Дополнительные сведения см. в разделе Поведение, не соответствующее RFC .