Last updated
Last updated
Data Transfer Object Design Pattern е често използван шаблон за проектиране. Основно се използва за предаване на данни с множество атрибути в една заявка от клиент към сървър, за да се избегнат множество повиквания към отдалечения сървър.
Предимство на използването на DTO в RESTful API, написани на Java (и със Spring Boot), е че те могат да помогнат да се скрият имплементационните детайли на обектите (JPA entities). Разкриването на тези обекти чрез крайни точки може да се превърне в проблем със сигурността, ако не боравим внимателно с това какви свойства могат да бъдат променяни и чрез какви операции.
ModelMapper e библиотека, която се използва за преобразуване на entity обект в DTO и обратно.
Стъпки за реализация:
Добавяме библиотеката ModelMapper
За автоматичното конфигуриране на bean можете да предприемете една от двете стъпки:
в Main класа добавете следния метод, анотиран с @Bean:
или създайте клас-наследник на ModelMapper, анотиран с @Component
Създаваме entity клас:
Създаваме DTO клас:
UserService.java
UserServiceImpl.java
UserController.java