Создайте прокси-сервер API из спецификации OpenAPI.

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Что вы узнаете

В этом уроке вы научитесь:

  • Создайте прокси-сервер Edge API на основе спецификации OpenAPI.
  • Вызовите прокси-сервер API, используя cURL.
  • Добавьте политику в условный поток.
  • Проверьте вызов политики с помощью cURL.

В этом руководстве вы узнаете, как создать прокси-сервер Edge API на основе спецификации OpenAPI с помощью пользовательского интерфейса управления Apigee Edge. Когда вы вызываете прокси-сервер API с помощью HTTP-клиента, такого как cURL, прокси-сервер API отправляет запрос в службу ложной целевой цели Apigee.

Об инициативе Open API

Инициатива открытого API
«Инициатива Open API (OAI) направлена ​​на создание, развитие и продвижение независимого от поставщика формата описания API на основе спецификации Swagger». Дополнительную информацию об инициативе Open API см. на странице https://openapis.org .

Спецификация OpenAPI использует стандартный формат для описания RESTful API. Спецификация OpenAPI, написанная в формате JSON или YAML, является машиночитаемой, но при этом ее легко читать и понимать людям. Спецификация описывает такие элементы API, как его базовый путь, пути и команды, заголовки, параметры запроса, операции, типы контента, описания ответов и многое другое. Кроме того, спецификация OpenAPI обычно используется для создания документации API.

О сервисе ложных целей Apigee

Служба ложной целевой цели Apigee, используемая в этом руководстве, размещена в Apigee и возвращает простые данные. Для этого не требуется ключ API или токен доступа. Фактически, вы можете получить к нему доступ в веб-браузере. Попробуйте это, нажав следующее:

http://mocktarget.apigee.net

Целевая служба возвращает приветствие Hello, guest!

Для получения информации о полном наборе API, которые поддерживает служба ложных целевых объектов, щелкните следующее:

http://mocktarget.apigee.net/help

Что вам понадобится

  • Учетная запись Apigee Edge. Если у вас нет учетной записи, вы можете зарегистрироваться, следуя инструкциям в разделе Создание учетной записи Apigee Edge .
  • Спецификация OpenAPI. В этом руководстве вы будете использовать спецификацию mocktarget.yaml , которая описывает службу ложной целевой цели Apigee, http://mocktarget.apigee.net . Для получения дополнительной информации см. https://github.com/apigee/api-platform-samples/tree/master/default-proxies/helloworld/openapi .
  • cURL установлен на вашем компьютере для выполнения вызовов API из командной строки; или веб-браузер.

Создайте прокси API

Край

Чтобы создать прокси-сервер API из спецификации OpenAPI с помощью пользовательского интерфейса Edge:

  1. Войдите на https://apigee.com/edge .
  2. Нажмите Прокси-серверы API в главном окне.

    Альтернативно вы можете выбрать «Разработка» > «Прокси-серверы API» на левой панели навигации.

    Нажмите «Прокси API» на целевой странице.

  3. Нажмите + Прокси .
    Добавить прокси API
  4. В мастере создания прокси выберите «Использовать спецификацию OpenAPI» для шаблона обратного прокси (наиболее распространенного) .
    Создайте тип прокси
  5. Нажмите «Импортировать из URL» и введите следующую информацию:
    • URL-адрес спецификации OpenAPI : путь к необработанному контенту на GitHub для спецификации OpenAPI в поле URL-адреса :
      https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
    • Имя спецификации : имя спецификации OpenAPI, например Mock Target .

      Это имя используется для хранения спецификации OpenAPI в хранилище спецификаций. См. раздел Управление спецификациями .

  6. Нажмите «Импортировать» .

    Откроется страница сведений в мастере создания прокси. Поля предварительно заполняются значениями, определенными в спецификации 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.net . свойство servers из спецификации 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
    ...
    
  7. Отредактируйте поле «Описание» следующим образом: API proxy for the Apigee mock target service endpoint.
  8. Нажмите Далее .
  9. На странице «Общие политики» в разделе «Безопасность: Авторизация» убедитесь, что выбран параметр «Проходной» (без авторизации) , и нажмите «Далее» :

    Сквозной доступ (без авторизации), выбранный на странице «Общие политики».

  10. На странице «Потоки» убедитесь, что выбраны все операции.Создайте потоки прокси
  11. Нажмите Далее .
  12. На странице «Виртуальные хосты» выберите «По умолчанию» и «Безопасно» и нажмите «Далее» .
    по умолчанию и безопасно выбрано на странице «Виртуальные хосты»
  13. На странице «Сводка» убедитесь, что в разделе «Необязательное развертывание» выбрана «Тестовая среда», и нажмите «Создать и развернуть» :

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

  14. Нажмите «Редактировать прокси» , чтобы отобразить страницу «Обзор» прокси-сервера API.
    Краткое описание прокси-сервера Mock Target API

Классический Edge (частное облако)

Чтобы создать прокси-сервер API из спецификации OpenAPI с помощью классического пользовательского интерфейса Edge:

  1. Войдите на https://apigee.com/edge .
  2. Нажмите Прокси-серверы API в главном окне.

    Альтернативно вы можете выбрать «Разработка» > «Прокси-серверы API» на левой панели навигации.

  3. Нажмите + Прокси .
    Добавить прокси API
  4. В мастере создания прокси выберите «Обратный прокси» (наиболее распространенный) и нажмите « Использовать OpenAPI» .
    Создайте тип прокси
  5. Нажмите « Импортировать из URL-адреса» , введите имя спецификации OpenAPI и укажите путь к необработанному содержимому спецификации OpenAPI на GitHub в поле URL-адрес :

    https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml
  6. Нажмите «Выбрать» .
  7. Нажмите Далее .

    Откроется страница сведений в мастере создания прокси. Поля предварительно заполняются значениями, определенными в спецификации 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.net . свойство servers из спецификации 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
    ...
    
  8. Отредактируйте поле «Описание» следующим образом: API proxy for the Apigee mock target service endpoint.
  9. Нажмите Далее .
  10. На странице «Потоки» убедитесь, что выбраны все операции.Создайте потоки прокси
  11. Нажмите Далее .
  12. На странице «Безопасность» выберите «Пропустить (нет)» в качестве параметра безопасности и нажмите «Далее» .
  13. На странице «Виртуальные хосты» убедитесь, что выбраны все виртуальные хосты, и нажмите «Далее» .
  14. На странице «Сборка» убедитесь, что выбрана тестовая среда, и нажмите « Создать и развернуть» .
  15. На странице «Сводка» вы увидите подтверждение того, что ваш новый прокси-сервер API был успешно создан и развернут в вашей тестовой среде.
    Создайте сводную информацию о прокси
  16. Нажмите Mock-Target-API , чтобы отобразить страницу обзора прокси-сервера API.
    Краткое описание прокси-сервера Mock Target API

Поздравляем! Вы создали прокси-сервер API на основе спецификации OpenAPI. Далее вы протестируете его, чтобы увидеть, как он работает.

Проверьте прокси API

Вы можете протестировать свой API Mock-Target-API с помощью cURL или веб-браузера.

В окне терминала выполните следующую команду cURL. Замените название своей организации в URL-адресе.

curl http://<org_name>-test.apigee.net/mock-target-api

Ответ

Вы должны увидеть следующий ответ:

Hello, Guest!        

Так держать! Вы создали простой прокси-сервер API на основе спецификации OpenAPI и протестировали его.

Добавьте XML в политику JSON

Далее вы добавите политику XML в JSON в условный поток просмотра XML-ответа , который был сгенерирован автоматически при создании прокси-сервера 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 в условный поток «Просмотр XML-ответа» в прокси-сервере API.

  1. Перейдите на вкладку «Разработка» в правом верхнем углу страницы «Обзор Mock-Target-API» в пользовательском интерфейсе Edge.
    Вкладка «Разработчик»
  2. На левой панели навигатора в разделе Конечные точки прокси > по умолчанию щелкните условный поток Просмотр XML-ответа .
    Выберите «Просмотреть XML-ответ».
  3. Нажмите нижнюю кнопку +Шаг , соответствующую ответу потока.
    Выберите +Шаг
    Откроется диалоговое окно «Добавить шаг», в котором отобразится упорядоченный по категориям список всех политик, которые вы можете добавить.
  4. Прокрутите страницу до категории «Медиация» и выберите «Из XML в JSON» .
    Диалоговое окно «Добавить шаг»
  5. Сохраните значения по умолчанию для отображаемого имени и имени .
  6. Нажмите Добавить . К ответу применяется политика преобразования XML в JSON. Политика преобразования XML в JSON в потоке
  7. Нажмите Сохранить .

Теперь, когда вы добавили политику, снова вызовите 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"}}

Поздравляем! Вы успешно протестировали выполнение политики, добавленной в условный поток.