Каков правильный шаблон проектирования для DTO при использовании Spring HATEOAS? - PullRequest
0 голосов
/ 06 ноября 2019

Согласно документации Spring HATEOAS

https://docs.spring.io/spring-hateoas/docs/0.25.3.BUILD-SNAPSHOT/reference/html/

ясно, что они хотят, чтобы ваш DTO наследовал ResourceSupport.

Но я обнаружил, что у многих моих Моделей в проекте есть поле идентификатора. И это проблема при расширении ResourceSupport (который имеет неопределяемый метод getId).

Теперь вы можете утверждать, что ваши модели должны быть отделены от вашего DTO, возвращенного REST в любом случае. Да, я нахожу, что, если эти две вещи абсолютно одинаковы, то меньше смысла держать их в одном классе.

Итак, каков правильный шаблон дизайна?

(1) Изменить все модели моего проекта, чтобы переименовать поля идентификаторов и, таким образом, выполнить миграцию БД?

(2) Создать DTO, соответствующие каждой модели данных, которая расширяет ResourceSupport, а затем выполнить сопоставление объектов перед возвратом вызова REST?

...