#spring
Вопрос:
Я использую entity - repository - service - controller
архитектуру. В контроллере я хотел бы получить объект, не представленный слоем сущности. Я провел некоторое исследование и нашел два решения.
- Используйте карту<Строка, объект>
- Используйте класс-оболочку.
Мои вопросы таковы:
- Во втором сценарии, куда я должен поместить класс-оболочку? Это новая сущность или у меня должна быть отдельная папка для классов-оболочек?
- В чем разница между наличием DTO и вторым подходом?
Ответ №1:
Ans 1. Это вообще не Сущность, это просто оболочка ответа DTO. Я бы рекомендовал иметь 2 пакета *dto и *entity. Классы, доступные из API, должны находиться внутри *dto, а классы, представляющие сущности, должны находиться в *сущности. Вы можете дополнительно разделить *dto на *dto/запрос и *dto/ответ. Ans 2. Я не вижу никакой разницы. Всегда рекомендуется заключать любую коллекцию в ответ DTO, чтобы иметь место для метаданных, таких как разбиение на страницы.