REST API - DTO или нет? [закрыто]

В настоящее время я создаю REST-API для проекта и читаю статью за статьей о лучших практиках. Многие, кажется, против DTO и просто выставляют модель предметной области, в то время как другие, кажется, думают, что DTO (или пользовательские модели, или как вы хотите это называть) - плохая практика. Лично я думал, чтоЭта статья имеет много смысла.

Однако я также понимаю недостатки DTO со всем дополнительным кодом отображения, модели доменов, которые могут быть на 100% идентичны их DTO-аналогам, и так далее.

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

Дело в том, что мы можем не захотеть предоставлять все данные домена другим пользователям клиента. Большая часть данных будет иметь смысл только в нашем собственном веб-приложении. Кроме того, мы можем не захотеть раскрывать все данные об объекте во всех сценариях, особенно об отношениях с другими объектами и так далее. Например, если мы представляем список определенного объекта, мы не обязательно хотим раскрывать всю иерархию объектов; так что дочерние объекты не будут выставлены, но могут быть обнаружены через ссылки (hateoas).

Как мне решить эту проблему? Я думал об использовании миксов Джексона в наших моделях доменов, чтобы контролировать, какие данные будут представлены в различных сценариях. Или мы должны просто использовать DTO полностью - даже учитывая его недостатки и противоречия?

Ответы на вопрос(4)

Ваш ответ на вопрос