Поделиться через


Добавление искусственного API GraphQL и настройка сопоставителей полей

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

В Управление API можно добавить API GraphQL в одну из двух моделей: сквозную передачу в существующую конечную точку GraphQL или импортировать схему GraphQL и создать искусственный API GraphQL с настраиваемыми разрешениями полей. Дополнительные сведения см. в обзоре GraphQL.

Примечание.

В настоящее время эта функция недоступна в рабочих областях.

Работая с этой статьей, вы узнаете о следующем.

  • Импорт схемы GraphQL в экземпляр Управления API
  • Настройка сопоставителя для запроса GraphQL с помощью существующей конечной точки HTTP
  • Протестируйте API GraphQL

Если вы хотите предоставить доступ к существующей конечной точке GraphQL в качестве API, обратитесь к разделу Импорт API GraphQL.

Необходимые компоненты

  • Существующий экземпляр Управления API. Создайте его, если у вас его нет.
  • Допустимый файл схемы GraphQL с расширением .graphql.
  • Для этого сценария требуется конечная точка в серверной части GraphQL.

Перейдите к экземпляру службы управления API.

  1. На портале Azure найдите и выберите службы Управление API.

    Выбор

  2. На странице Службы Управления API выберите экземпляр Управления API.

    Выбор экземпляра службы

Добавление схемы GraphQL

  1. В меню навигации сбоку выберите API в разделе API.

  2. В разделе Define a new API (Определение нового API) щелкните значок GraphQL.

    Снимок экрана: выбор значка GraphQL из списка API.

  3. В открывшемся диалоговом окне выберите Полный и заполните обязательные поля формы.

    Снимок экрана: поля для создания API GraphQL.

    Поле Описание:
    Отображаемое имя Это имя, под которым будет отображаться этот API GraphQL.
    Имя Необработанное имя API Graph. Оно заполняется автоматически при вводе отображаемого имени.
    Тип GraphQL Выберите Искусственный GraphQL для импорта из файла схемы GraphQL .
    Резервная конечная точка GraphQL При необходимости введите URL-адрес с именем конечной точки API GraphQL. Управление API передает запросы GraphQL в эту конечную точку, если настраиваемый сопоставитель для поля не задан.
    Description Добавьте описание API.
    Схема URL-адресов Сделайте выбор на основе конечной точки GraphQL. Выберите один из вариантов, включающих схему WebSocket (WS или WSS), если API GraphQL включает тип подписки. Выбор по умолчанию: HTTP(S).
    Суффикс URL-адреса API Добавьте суффикс URL-адреса для идентификации этого API в данном экземпляре Управления API. Он должен быть уникальным в этом экземпляре Управления API.
    Базовый URL-адрес Недоступное для редактирования поле, отображающее базовый URL-адрес API
    Теги Сопоставьте API GraphQL с новыми или существующими тегами.
    Товары Сопоставьте API GraphQL с определенным продуктом, чтобы опубликовать его.
    Версия этого API Выберите, чтобы применить схему управления версиями к API GraphQL.
  4. Нажмите кнопку создания.

  5. После создания API просмотрите или измените схему на вкладке "Конструктор ".

Настройка сопоставителя

Настройте сопоставитель для сопоставления поля в схеме с существующей конечной точкой HTTP. Здесь приведены шаги высокого уровня. Дополнительные сведения см. в разделе "Настройка сопоставителя GraphQL".

Предположим, вы импортировали следующую базовую схему GraphQL и хотите настроить сопоставитель для запроса users.

type Query {
    users: [User]
}

type User {
    id: String!
    name: String!
}
  1. В меню навигации сбоку в разделе API выберите API> ваш API GraphQL.

  2. На вкладке "Схема" просмотрите схему поля в типе объекта, в котором требуется настроить сопоставитель.

    1. Выберите поле, а затем в левом поле наведите указатель на указатель.

    2. Выбор и добавление сопоставителя

      Снимок экрана: добавление сопоставителя GraphQL на портале.

  3. На странице создания сопоставителя:

    1. Обновите свойство Name, если вы хотите, при необходимости введите описание и подтвердите или обновите выбор типа и поля.
    2. В источнике данных выберите HTTP API.
  4. В редакторе политик сопоставителя обновите <http-data-source> элемент дочерними элементами для вашего сценария. Например, следующий сопоставитель извлекает поле пользователей , вызывая GET существующий источник данных HTTP.

        <http-data-source>
            <http-request>
                <set-method>GET</set-method>
                <set-url>https://myapi.contoso.com/users</set-url>
            </http-request>
        </http-data-source>
    

    Снимок экрана: настройка политики сопоставителя на портале.

  5. Нажмите кнопку создания.

  6. Чтобы разрешить данные для другого поля в схеме, повторите описанные выше действия, чтобы создать сопоставитель.

Совет

При изменении политики сопоставителя выберите "Выполнить тест ", чтобы проверить выходные данные из источника данных, которые можно проверить на соответствие схеме. Если возникают ошибки, ответ содержит сведения об устранении неполадок.

Протестируйте API GraphQL

  1. Перейдите к экземпляру Управления API.

  2. В меню навигации сбоку выберите API в разделе API.

  3. В разделе All APIs (Все API) выберите API GraphQL.

  4. Откройте вкладку Тестирование, чтобы перейти к консоли тестирования.

  5. Под разделом Headers (Заголовки):

    1. Выберите заголовок в раскрывающемся меню Name (Имя).
    2. Введите значение в поле Value (Значение).
    3. Добавьте дополнительные заголовки, нажав кнопку + Add header (Добавить заголовок).
    4. Удалите заголовки с помощью значка корзины.
  6. Если вы добавили продукт в API GraphQL, примените область продукта в разделе Apply product scope (Применить область продукта).

  7. В редакторе запросов выполните одно из следующих действий:

    1. Выберите хотя бы одно поле или подполе в списке в боковом меню. Выбранные поля и подполя отображаются в редакторе запросов.

    2. Начните вводить текст в редакторе запросов, чтобы создать запрос.

      Снимок экрана: добавление полей в редактор запросов.

  8. В разделе Query variables (Переменные запроса) добавьте переменные для повторного использования одного запроса или изменения и передайте разные значения.

  9. Выберите Отправить.

  10. Просмотрите Response (Ответ).

    Снимок экрана: просмотр ответа тестового запроса.

  11. Повторите предыдущие шаги, чтобы проверить различные полезные данные.

  12. По завершении тестирования закройте консоль тестирования.

Защита API GraphQL

Защита API GraphQL путем применения существующих политик проверки подлинности и авторизации GraphQL для защиты от атак, относящихся к GraphQL .

Следующие шаги