Андрей привет. Тут на досуге решил интересную задачку. Нас наше тех руководство принудило пойти в сторону как-бы микросервисов, но на самом деле - разделение проекта на компоненты (модули), которые между собой общаются через кафку и посредством Rest. Самое интересное про последнее. Как ты понимаешь, у нас  жизни бывают модели, которые содержат в себе другие модели. Верно, но в одном полюшке может содержаться и маркерный интерфейс, который даёт контракт, который может быть присвоен свойству, то есть, там может храниться что угодно, реализующее интерфейс. Сериализация тут ломается для Rest. Коллега (более опытный чем я. 25 лет в разработке) поделился со мной своим решением, которое мне прям понравилось. Сериализуем в словарике Dictionary. Далее разбираемся. Самое интересное, надо десериализовывать, а у нас уже есть тип - куда... я про обилие dto, и как это автоматизировать через механизм атрибутов к полям модели.