Сегодня поговорим про graphql в go и пакете gqlgen 🤖 Алексей Тарасов, Backend-разработчик Юлы, поделился полезными доработками в пакетах Golang Graphql Federation.
В пакете gqlgen исправлена проблема с порядком получения федеративных сущностей в сервисе. Ранее при их получении через запрос «_entities(representations:[_Any!]!): [_Entity]!» сущности могли быть возвращены в случайном порядке что приводило к «перемешиванию» данных.
Что это меняет? Раньше мы использовали собственную обертку, которая решала данную проблему. Теперь использование нашей обертки над этим пакетом не является необходимым.
Вместе с решением проблемы порядка возвращаемых сущностей в gqlgen появилась достаточно полезная фича – возможность получить сущность списком вместо того, чтобы ходить за каждой в горутине (что может быть не слишком оптимально с точки зрения нагрузки).
Теперь появилась возможность добавив директиву: получить сгенерированный метод в нужном resolver-e для получения сразу набора сущностей.
@entityResolver(multi: true)
Официальная документация лежит тут.
Post #81
292