Статьи

Подключение Playground к GraphQL

Исходники

10 апреля 2021

Тэги: json Spring Boot Kotlin GraphQL gradle

Содержание

  1. Подключение Playground к проекту
  2. Выполнение запроса через веб-интерфейс
  3. Документирование схемы

В статье Обработка запросов с помощью GraphQL мы рассмотрели основные вопросы, связанные с выполнением запросов в GraphQL. До этого момента мы составляли запросы вручную в формате json и напрямую кидали их на сервер. Но не всегда под рукой есть удобный инструмент для выполнения POST-запросов. Кроме того, вы можете в принципе не знать, какие поля и методы GraphQL доступны на сервере. Поэтому к GraphQL можно прикрутить один из нескольких веб-интерфесов, который позволит выполнять тестовые запросы в наглядном виде.

Подключение Playground к проекту

Для примера возьмём такой инструмент как Playground. Просто добавим ещё одну зависимость playground-spring-boot-starter в уже существующий проект, который мы создали в прошлой статье.

implementation("com.graphql-java-kickstart:playground-spring-boot-starter:11.0.0")

И этого достаточно, чтобы по адресу http://127.0.0.1:8080/playground появился веб-интерфейс, который автоматически будет отображать информацию о нашей GraphQL схеме. Разумеется, эндпоинт вы при желании можете переопределить в настройках.

Справа вы можете увидеть две вертикальные вкладки. Вкладка DOCS показывает все доступные запросы и типы, которые в этих запросах используются. Вкладка SCHEMA фактически отображает содержимое нашего .graphqls файла.

Выполнение запроса через веб-интерфейс

Интерфейс playground состоит из двух полей. В левом поле вы пишете запрос, в середине нажимаете кнопку для выполнения запроса и в правом вы увидите результат запроса. Давайте в левом поле напишем следующий запрос:

query {
  getBooks {
    id
    title
    author {
      surname
    }
  }
}

По мере написания запроса playground предлагает вам автодополнение параметров. Также мы видим, что этот формат немного отличается от того формата, который мы напрямую кидали в POST-запросе в прошлой статье.

Документирование схемы

Помимо самих имён параметров playground может также отображать описания для них. Это описание нам следует добавить в файл .graphqls. Просто добавим описание над каждым полем и методом после символа #.

# Книга
type Book {
    id: ID!,
    # Название книги
    title: String!,
    # Автор книги
    author: Author!
}

# Автор книги
type Author {
    id: ID!,
    # Имя автора
    name: String!,
    # Фамилия автора
    surname: String!
}

# Публичные методы GraphQL
type Query {
    # Список книг
    getBooks(
        # Максимальное кол-во книг в списке
        limit: Int
    ):[Book!]
}

После того, как мы отредактируем файл и перезапустим проект, описания появятся в playground.



Комментарии

Добавить комментарий

×

devmark.ru