Data transfer object (DTO)

Data Transfer Object Design Pattern е често използван шаблон за проектиране. Основно се използва за предаване на данни с множество атрибути в една заявка от клиент към сървър, за да се избегнат множество повиквания към отдалечения сървър.

Предимство на използването на DTO в RESTful API, написани на Java (и със Spring Boot), е че те могат да помогнат да се скрият имплементационните детайли на обектите (JPA entities). Разкриването на тези обекти чрез крайни точки може да се превърне в проблем със сигурността, ако не боравим внимателно с това какви свойства могат да бъдат променяни и чрез какви операции.

ModelMapper e библиотека, която се използва за преобразуване на entity обект в DTO и обратно.

Стъпки за реализация:

  1. Добавяме библиотеката ModelMapper

За автоматичното конфигуриране на bean можете да предприемете една от двете стъпки:

  • в Main класа добавете следния метод, анотиран с @Bean:

  • или създайте клас-наследник на ModelMapper, анотиран с @Component

  1. Създаваме entity клас:

  1. Създаваме DTO клас:

UserService.java

UserServiceImpl.java

UserController.java

Last updated

Was this helpful?