Лучший способ поделиться схемой GraphQl для генерации кода - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть этот микросервисный проект, в котором я хочу попробовать подход, основанный на клиентской схеме. И потому что я ленивый, я хочу, чтобы был сгенерирован необходимый код.

Для внешнего интерфейса Angular я использую инструменты graphql-codegen, а для внутреннего интерфейса я использую плагин graphql-codegen-maven-plugin. И генерировать код, с которым я могу работать, и делать разработку, особенно синхронизацию фронтальной и бэкэнд-моделей, намного проще.

Поскольку я использую Docker, бэкэнд и фронтенд - это отдельные изображения, которые составлены с использованием docker-compose. Но совместное использование схемы оказывается сложной задачей.

В настоящее время я просто символическую ссылку из схемы из внешнего интерфейса в бэкэнд. Это прекрасно работает, когда приложения запускаются из командной строки или IDE. Но это не будет работать при использовании команд Docker.

Я также думал об использовании подмодулей git, но поскольку я использую моно-репо, это было бы не очень полезно.

Я стараюсь не использовать скрипт для копирования файла схемы с клиента в каталог сервера, потому что я не хочу иметь это подразумеваемое знание, что вы можете редактировать файл схемы только внутри одногомодуль. Наличие символической ссылки вроде бы неплохо для этого.

Есть ли какой-нибудь полезный подход, который не идет с большим количеством компромиссов, лучшая практика, о которой я не знаю? Или я совершенно не прав с моим типом мышления, и генерация внешнего и внутреннего кода должна быть несколько иной?

...