Этот вопрос на первый взгляд показался мне дураком, но потом я понял, что у меня пока нет правильного ответа, и, что интересно, также не нашел хорошего объяснения этому в своих поисках. Я новичок в концепциях доменного управления, поэтому, даже если вопрос базовый c, не стесняйтесь добавлять любые соображения к нему.
Я проектирую в Rest API для настройки экземпляров сервера и Я придумал агрегат с именем Instance
, который содержит список Configurations
, только одна указанная c конфигурация будет активна в данный момент времени.
Чтобы добавить конфигурацию, нужно вызвать конечную точку POST /instances/{id}/configurations
с телом на желаемой конфигурации. В ответ, если все в порядке, он получит HTTP 204 с местоположением заголовка, содержащим новый идентификатор конфигурации.
Я планирую иметь только один контроллер, InstanceController
, который будет вызывать InstanceService
, который будет манипулировать агрегатом экземпляра, а затем сохранять его в репо.
Поскольку идентификаторы генерируются репозиторием, если я позвоню Instance.addConfiguration
, а затем InstanceRepository.store
, как я получу идентификатор вновь созданной конфигурации? ? Я имею в виду, что это List, так что это не тривиально, так как вызов Instance.configuration.identity
Опция реализует метод в Instance, например, getLastAddedConfiguration
, но это кажется действительно хрупким.
Что такое общий подход в этой ситуации?