I'm learning DDD so apologies if the question is too naive. Assume an application that manages user publications developed following DDD and using a RestAPI for external interaction (for whatever front-end layer for instance).
Looking at the Publication model we would have behaviors like ApplyLike, RemoveLike, Comment and so on.
Now assume we are asked to implement the (not yet implemented nor designed) functionality of updating an existing publication through a http-put request from our RestAPI. The author of a publication should be able to modify most of its fields (like title, body text, attachments, etc).
How should I design this behavior of updating an existing publication inside the Publication model?
The solutions I can think of seems clearly wrong to me, which are A: create an Update method with all just set all the updatable fields of the model (which will end up with a huge parameter list and will just expose a meaningless public unique setter accessor for almost all the model fields) B: accept the defeat from option A and just expose public setters for the model fields so the user can modify as they want, and finally C: violate layer separations and just assume that update DTO as part of our domain and create an Update(PublicationDTO) method (which is wrong because our premise is just not right - this DTO doesn't belong to the domain).
I think this is probably more a OO question than a DDD question, but how should I tackle that problem? Maybe I should have different separate behaviors like ChangeTitle, ChangeBodyText?