ТЕХНОЛОГИЯ ЭКСПЕДИА ГРУПП - ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
🎉 Представляем graphql-kotlin 2.0!
Упрощение серверов GraphQL в Kotlin
Прошло чуть более 4 месяцев с момента первого крупного релиза graphql-kotlin, и с тех пор мы добавляли больше функций и исправляли ошибки с помощью Expedia Group ™ ️ Open Source и члены сообщества open source . Мы медленно составляли список функций, которые могут быть внесены в критические изменения, поэтому, чтобы быть в курсе последних событий, мы анонсируем следующую основную версию - 2.0.0!
Основные изменения и особенности
Чтобы увидеть полный список изменений и ссылки на запросы на вытягивание, посетите наши примечания к выпуску, но вот некоторые из основных моментов.
Новый интерфейс хуков
Мы обновили подпись для SchemaGeneratorHooks
, чтобы позволить больше настроек и удалить дублирование крючков.
DataFetcherExecutionPredicate
был удален в # 478, а KClass
был добавлен к некоторым хукам в # 530.
graphql-Java 14
Мы обновили последнюю версию graphql-java в # 568, что также стало критическим изменением для этой библиотеки. Одним из самых больших изменений было добавление GraphQLNamedType
, что означает, что все типы не имеют поля name
по умолчанию.
Заменить аннотацию GraphQLContext
В # 610 мы заменили аннотацию GraphQLContext
интерфейсом. Это ставит нас в соответствие с другими шаблонами в библиотеке, например, с тем, как вы используете DataFetchingEnvironment
, и означает, что вам больше не нужно аннотировать каждое использование вашего класса контекста.
Новые особенности
У нас были отложенные запросы функций, которые мы также смогли добавить в новый выпуск. Lists
может использоваться как ввод с # 546, классы sealed
могут использоваться как интерфейсы в # 645, подписки имеют свои собственные хуки в # 544, а в # 598 класс SchemaGenerator
и некоторые его были созданы open
методы, поэтому вы можете дополнительно настроить генерацию без необходимости переписывать наш код.
Поддержка 1.x.x
В дальнейшем мы будем поддерживать ветку 1.x.x только для критических проблем безопасности или срочного исправления ошибок.
Обратная связь
Как и в случае с любым другим проектом с открытым исходным кодом, мы хотим поблагодарить сообщество за использование нашей библиотеки, предоставление ценных отзывов и особенно за отправку запросов на вытягивание. Мы продолжим поддерживать эту библиотеку и использовать ее в производстве в Expedia Group, но цель проекта по-прежнему - облегчить разработку сервера GraphQL для всех. Если у вас есть запрос на добавление функции или вопрос, не стесняйтесь создать новую проблему или обратиться к нашему общедоступному каналу Slack.