Статьи
YouTube-канал

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

Исходники

10 апреля 2021

Тэги: gradle, GraphQL, json, Kotlin, Spring Boot.

Содержание

  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.


Облако тэгов

Kotlin, Java, Java 16, Java 11, Java 10, Java 9, Java 8, Spring, Spring Boot, Spring Data, SQL, PostgreSQL, Oracle, Linux, Hibernate, Collections, Stream API, многопоточность, файлы, Nginx, Apache, maven, gradle, JUnit, YouTube, новости, руководство, ООП, алгоритмы, головоломки, rest, GraphQL, Excel, XML, json, yaml.

Последние статьи


Комментарии

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

×

devmark.ru