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