Генератор классов Java GraphQL

Я хочу погрузиться в graphQL с помощью Java. Я хочу запросить существующую службу graphQL. Из того, что я нашел до сих пор, есть способы создания файлов схемы graphQL либо в JSON, либо в IDL из ваших классов POJO, но не наоборот ....? Из того, что я понял до сих пор, мне пришлось бы самому создавать классы java, которые «представляют» объекты, которые я получу в результате запроса. Но у службы, которую я хочу использовать, есть множество конечных точек и запросов, и необходимость писать каждый класс pojo сама звучит так, как будто я что-то пропустил ... Я предполагаю, что должен быть способ генерировать заглушки, как я привык, из фреймворков REST API используя файлы swagger или yaml? Итак ... как я могу автоматически сгенерировать классы pojo, используя только файл схемы? Я прочитал описание подхода, основанного на схеме, в graphql-java, но они также предполагают, что сами пишут классы pojo.

Спасибо

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
7
1
5 654
1

Ответы 1

Вы можете использовать плагин для своего инструмента сборки для создания POJO для типов / входов / интерфейсов / перечислений / и т.д. GraphQL и интерфейсов для запросов / мутаций / подписок. Все основано на вашей схеме GraphQL.

Ссылка на проект: https://github.com/kobylynskyi/graphql-java-codegen

Он имеет следующие плагины для вашего инструмента сборки:

Привет, я попробовал плагин gradle. Один недостаток, который я вижу для вложенных запросов, - предположим, что есть объект продукта с вложенным объектом Cost и запрос на получение продукта по идентификатору. Сгенерированная заглушка предназначена для метода productById (), который всегда будет запрашивать объект Cost независимо от запрашиваемой стоимости. Можем ли мы покончить с этой тесной связью?

Aashish Katta 19.05.2020 08:41

Конечно. Вы можете создать проблему в следующем репо с помощью предлагаемого подхода: github.com/kobylynskyi/graphql-java-codegen

Bogdan Kobylynskyi 19.05.2020 13:05

Другие вопросы по теме