Ich erstelle eine einfache RESTful-API für eine webbasierte Anwendung, an der ich arbeite, und frage mich, wie ich meine Domain-Modelle am besten verfügbar machen kann.
Angenommen, ich habe eine Benutzerklasse und möchte eine JSON-Antwort mit den verschiedenen Benutzereigenschaften bereitstellen. Ich möchte natürlich nicht alle Eigenschaften meines Modells (z. B. DateCreated, PasswordHash usw.) aus Sicherheits- und Bandbreitenproblemen öffentlich zugänglich machen.
Ich habe in Datenübertragungsobjekte gelesen und frage mich, ob dies der richtige Weg ist. Wenn ich recht habe, könnte ich beispielsweise ein Benutzermodell an mein Benutzer-DTO übergeben und sicherstellen, dass dieses DTO nur die von mir ausgewählten Benutzereigenschaften verfügbar macht (was auch dazu beitragen würde, meine Modelle von meiner öffentlichen API zu entkoppeln).
Ist diese Lösung angemessen oder gibt es bessere Möglichkeiten, dies zu tun?
Vielen Dank.