Слой DTO преобразований - PullRequest
       10

Слой DTO преобразований

0 голосов
/ 12 апреля 2019

Контроллер должен работать с DTO, сервис с моделями доменов.Для связи между контроллером и сервисом, какое место лучше всего конвертировать из DTO в модели, в контроллер или сервис?А также, что является лучшим местом для построения DTO после выполнения сервисной логики?

Ответы [ 2 ]

1 голос
/ 12 апреля 2019

Лучшим местом для преобразования из DTO в Модели и наоборот является Mapper.

Не следует помещать логику преобразования в код службы, поскольку DTO может использоваться несколькими службами.Размещение его в коде службы делает его привязанным к одному конкретному сервису.Не решение.

Не следует помещать логику преобразования в контроллер, поскольку службы для преобразования чего-либо становятся зависимыми от контроллера.Не решение.

Создание интерфейса Mapper.Обеспечьте реализацию для этого (вы даже можете использовать библиотеку для отображения, как ModelMapper ).И используйте этот картограф для преобразования всякий раз, когда вам нужно.

0 голосов
/ 12 апреля 2019

Обычно у вас есть пакет «mapping» с классом отображения, где вы можете выполнять все операции отображения (DTO для моделирования и наоборот), как правило, с использованием инфраструктуры отображения, такой как Mapstruct.

Затем уровни контроллера и службы просто вызывают эти методы отображения своих данных (DTO или модель) перед вызовом друг друга.

Я опубликую пример позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...