Я предпочитаю иметь 2-3 банки (утилита необязательна)
- одна для самого приложения
- одна для API (только интерфейсы и dtos)
- один для утилиты (для обеспечения некоторых остальных реализаций API)
Я также предлагаю вам взглянуть на декларативный клиент micronaut https://docs.micronaut.io/latest/guide/index.html#clientAnnotation, который, вероятно, вам очень поможет.
Итак, у вас есть два варианта:
- api и app jar и импортируйте для ваших зависимостей только api jar (вы должны позаботиться о URL) и вы, вероятно, столкнетесь с проблемами повторной реализации одной и той же конечной точки отдыха несколько раз
- api, app и util jar, который делегирует сервер и клиент rest вашему сервису и позволяет вам поддерживать их вместе, это сложно, если вы начнете смешивать фреймворки Например, приложение micronaut вызывает службу весенней загрузки или что-то в этом роде