Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Что вы узнаете
Из этого руководства вы узнаете:
- Создайте прокси-сервер API Edge на основе спецификации OpenAPI.
- Вызовите прокси-сервер API с помощью cURL.
- Как добавить правила в условный поток
- Проверьте вызов правил с помощью cURL.
В этом руководстве рассказывается, как создать прокси-сервер API Edge на основе спецификации OpenAPI с помощью интерфейса управления Apigee Edge. Когда вы вызываете прокси-сервер API с помощью HTTP-клиента, например cURL, прокси-сервер API отправляет запрос в сервис имитации целевого сервиса Apigee.
Об инициативе Open API
"Инициатива Open API (OAI) направлена на создание, развитие и продвижение независимого от поставщика формата описания API на основе спецификации Swagger". Дополнительную информацию об инициативе Open API можно найти на сайте https://openapis.org.
Спецификация OpenAPI использует стандартный формат для описания REST API. Спецификация OpenAPI, написанная в формате JSON или YAML, предназначена для машинной обработки, но при этом удобна для чтения и понимания. Спецификация описывает такие элементы API, как базовый путь, пути и глаголы, заголовки, параметры запроса, операции, типы контента, описания ответов и т. д. Кроме того, спецификация OpenAPI обычно используется для создания документации по API.
О сервисе Apigee Mock Target Service
Целевой сервис Apigee, используемый в этом руководстве, размещен в Apigee и возвращает простые данные. Ключ API или токен доступа не требуются. Вы можете открыть его в браузере. Чтобы попробовать, нажмите на следующие ссылки:
Целевой сервис возвращает приветствие Hello, guest!.
Чтобы узнать, какие API поддерживает целевой сервис, нажмите на следующие ссылки:
Что вам понадобится
- Аккаунт Apigee Edge. Если у вас нет аккаунта, зарегистрируйтесь, следуя инструкциям в разделе Создание аккаунта Apigee Edge.
- Спецификация OpenAPI. В этом руководстве вы будете использовать
mocktarget.yamlспецификацию OpenAPI, в которой описан сервис имитации целевого сервиса Apigee,http://mocktarget.apigee.net. Подробнее о том,https://github.com/apigee/api-platform-samples/tree/master/default-proxies/helloworld/openapi… - cURL, установленный на вашем компьютере, чтобы выполнять вызовы API из командной строки, или веб-браузер.
Как создать прокси-сервер API
Edge
Чтобы создать прокси-сервер API на основе спецификации OpenAPI с помощью интерфейса Edge:
- Войдите в аккаунт на странице https://apigee.com/edge.
- В главном окне нажмите API Proxies (Прокси API).
Вы также можете выбрать Develop > API Proxies (Разработка > Прокси API) на панели навигации слева.

- Нажмите + Прокси.

- В мастере создания прокси-сервера нажмите Use OpenAPI Spec (Использовать спецификацию OpenAPI) для шаблона Reverse proxy (most common) (Обратный прокси-сервер (наиболее распространенный)).

- Нажмите Импортировать из URL и введите следующие данные:
- URL спецификации OpenAPI. Укажите путь к необработанному контенту на GitHub для спецификации OpenAPI в поле URL.
https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
- Название спецификации. Название спецификации OpenAPI, например Целевой объект для тестирования.
Это название используется для хранения спецификации OpenAPI в хранилище спецификаций. Подробнее о том, как управлять спецификациями…
- URL спецификации OpenAPI. Укажите путь к необработанному контенту на GitHub для спецификации OpenAPI в поле URL.
- Нажмите Импортировать.
Откроется страница "Сведения" мастера создания прокси. Поля заполняются автоматически на основе значений, заданных в спецификации OpenAPI, как показано на следующем
В таблице ниже описаны значения по умолчанию, которые заполняются на основе свойств в спецификации OpenAPI. Ниже приведена выдержка из спецификации OpenAPI, в которой показаны используемые свойства.
Поле Описание По умолчанию Название Название прокси-сервера API. Пример: Mock-Target-API.Свойство titleиз спецификации OpenAPI, в котором пробелы заменены на дефисы.Базовый путь Компонент пути, который уникальным образом идентифицирует этот прокси-сервер API в организации. Общедоступный URL этого прокси API состоит из названия вашей организации, среды, в которой развернут прокси API, и этого базового пути. Пример: http://myorg-test.apigee.net/mock-target-apiСодержимое поля Название преобразовано в нижний регистр. Описание Описание прокси-сервера API. descriptionиз спецификации OpenAPIЦелевой API (существующий) Целевой URL, вызванный от имени этого прокси-сервера API. Можно использовать любой URL, доступный в интернете. Пример: http://mocktarget.apigee.netserversиз спецификации OpenAPIНиже приведен фрагмент спецификации OpenAPI, в котором показаны свойства, используемые для предварительного заполнения полей.
openapi: 3.0.0 info: description: OpenAPI Specification for the Apigee mock target service endpoint. version: 1.0.0 title: Mock Target API paths: /: get: summary: View personalized greeting operationId: View a personalized greeting description: View a personalized greeting for the specified or guest user. parameters: - name: user in: query description: Your user name. required: false schema: type: string responses: "200": description: Success ... servers: - url: http://mocktarget.apigee.net - url: https://mocktarget.apigee.net ... - Измените поле Описание следующим образом:
API proxy for the Apigee mock target service endpoint.. - Нажмите Далее.
- На странице Общие правила в разделе "Безопасность: авторизация" убедитесь, что выбран вариант Сквозная передача (без авторизации), и нажмите Далее:

- На странице "Потоки" убедитесь, что выбраны все операции.
- Нажмите Далее.
- На странице Виртуальные хосты выберите default и secure и нажмите Далее.

- На странице Сводка убедитесь, что в разделе Необязательное развертывание выбрана среда Тестирование, и нажмите Создать и развернуть:

Apigee создаст новый прокси-сервер API и развернет его в тестовой среде:

- Нажмите Edit proxy (Изменить прокси), чтобы открыть страницу обзора для прокси API.

Классическая версия Edge (частное облако)
Чтобы создать прокси-сервер API на основе спецификации OpenAPI с помощью классического интерфейса Edge:
- Войдите в аккаунт на странице https://apigee.com/edge.
- В главном окне нажмите API Proxies (Прокси API).
Вы также можете выбрать Develop > API Proxies (Разработка > Прокси API) на панели навигации слева.

- Нажмите + Прокси.

- В мастере создания прокси-сервера выберите Обратный прокси-сервер (наиболее распространенный) и нажмите Использовать OpenAPI.

- Нажмите Импортировать из URL, введите название спецификации OpenAPI и укажите путь к необработанному контенту на GitHub для спецификации OpenAPI в поле URL:
https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml
- Нажмите Выбрать.
- Нажмите Далее.
Откроется страница "Сведения" мастера создания прокси. Поля заполняются автоматически на основе значений, заданных в спецификации OpenAPI, как показано на рисунке ниже.
В таблице ниже описаны значения по умолчанию, которые заполняются на основе свойств в спецификации OpenAPI. Ниже приведена выдержка из спецификации OpenAPI, в которой показаны используемые свойства.
Поле Описание По умолчанию Название прокси-сервера Название прокси-сервера API. Пример: Mock-Target-API.Свойство titleиз спецификации OpenAPI, в котором пробелы заменены на дефисы.Базовый путь прокси-сервера Компонент пути, который уникальным образом идентифицирует этот прокси-сервер API в организации. Общедоступный URL этого прокси API состоит из названия вашей организации, среды, в которой развернут прокси API, и этого базового пути. Пример: http://myorg-test.apigee.net/mock-target-apiСодержимое поля Название преобразовано в нижний регистр. Существующий API Целевой URL, вызванный от имени этого прокси-сервера API. Можно использовать любой URL, доступный через открытый интернет. Пример: http://mocktarget.apigee.netserversиз спецификации OpenAPIОписание Описание прокси-сервера API. descriptionиз спецификации OpenAPIНиже приведен фрагмент спецификации OpenAPI, в котором показаны свойства, используемые для предварительного заполнения полей.
openapi: 3.0.0 info: description: OpenAPI Specification for the Apigee mock target service endpoint. version: 1.0.0 title: Mock Target API paths: /: get: summary: View personalized greeting operationId: View a personalized greeting description: View a personalized greeting for the specified or guest user. parameters: - name: user in: query description: Your user name. required: false schema: type: string responses: "200": description: Success ... servers: - url: http://mocktarget.apigee.net - url: https://mocktarget.apigee.net ... - Измените поле Описание следующим образом:
API proxy for the Apigee mock target service endpoint.. - Нажмите Далее.
- На странице "Потоки" убедитесь, что выбраны все операции.
- Нажмите Далее.
- На странице "Безопасность" выберите Пропустить (нет) в качестве параметра безопасности и нажмите Далее.
- На странице "Виртуальные хосты" убедитесь, что выбраны все виртуальные хосты, и нажмите Далее.
- На странице сборки убедитесь, что выбрана тестовая среда test, и нажмите Build and Deploy (Собрать и развернуть).
- На странице "Сводка" вы увидите подтверждение того, что новый прокси-сервер API был успешно создан и развернут в тестовой среде.

- Нажмите Mock-Target-API, чтобы открыть страницу Overview (Обзор) для прокси API.

Поздравляем! Вы создали прокси-сервер API на основе спецификации OpenAPI. Затем вы проверите, как она работает.
Как протестировать прокси-сервер API
Вы можете протестировать Mock-Target-API API с помощью cURL или веб-браузера.
В окне терминала выполните следующую команду cURL. Замените название организации в URL.
curl http://<org_name>-test.apigee.net/mock-target-api
Ответ
Вы увидите следующий ответ:
Hello, Guest!
Так держать! Вы создали простой прокси-сервер API на основе спецификации OpenAPI и протестировали его.
Как добавить правило преобразования XML в JSON
Затем добавьте правило XML в JSON в условный поток View XML Response, который был создан автоматически при создании прокси-сервера API на основе спецификации OpenAPI. Правило преобразует ответ XML целевого сервиса в ответ JSON.
Сначала вызовите API, чтобы сравнить результаты с теми, которые будут получены после добавления правила. В окне терминала выполните следующую команду cURL. Вы вызываете ресурс /xml целевого сервиса, который изначально возвращает простой блок XML.
Замените название организации в URL.
curl http://<org_name>-test.apigee.net/mock-target-api/xml
Ответ
Вы увидите следующий ответ:
<root> <city>San Jose</city> <firstName>John</firstName> <lastName>Doe</lastName> <state>CA</state> </root>
Теперь давайте сделаем что-нибудь, что преобразует ответ XML в JSON. Добавьте правило XML в JSON в условный поток View XML Response в прокси-сервер API.
- Нажмите на вкладку Develop (Разработка) в правом верхнем углу страницы Mock-Target-API Overview (Обзор Mock-Target-API) в интерфейсе Edge.

- На панели навигации слева в разделе Proxy Endpoints > default нажмите на условный поток View XML Response.

- Нажмите на нижнюю кнопку +Шаг, соответствующую Ответу для потока.

Откроется диалоговое окно "Добавить шаг" со списком всех правил, которые можно добавить, разбитым по категориям.
- Прокрутите страницу до категории "Медиация" и выберите XML в JSON.

- Оставьте значения по умолчанию в полях Отображаемое название и Название.
- Нажмите Добавить. К ответу применяется правило XML в JSON.

- Нажмите Сохранить.
Теперь, когда вы добавили правило, снова вызовите API с помощью cURL. Обратите внимание, что вы по-прежнему вызываете тот же ресурс /xml. Целевой сервис по-прежнему возвращает блок XML, но теперь политика в прокси-сервере API будет преобразовывать ответ в JSON. Позвони:
curl http://<org_name>-test.apigee.net/mock-target-api/xml
Обратите внимание, что ответ в формате XML преобразуется в JSON:
{"root":{"city":"San Jose","firstName":"John","lastName":"Doe","state":"CA"}}Поздравляем! Вы успешно протестировали выполнение правила, добавленного в условный поток.