Mehr ServiceStack Anfrage DTO Beratung

Dies ist ein Follow-up in Bezug auf:

ServiceStack Request DTO design

In der obigen Frage bezog sich das Design ausschließlich auf Leseoperationen. Was ist mit Schreibvorgängen? Angenommen, wir möchten Operationen zum Erstellen eines neuen Buchungslimits hinzufügen. Wäre die Wiederverwendung des Substantivs hier angemessen?

[Route("/bookinglimits/","POST")]
public class CreateBookingLimit : IReturn<BookingLimit>
{      
     BookingLimit newBookingLimit
}

-Oder- Wäre das ein besseres Design?

[Route("/bookinglimits/","POST")]
public class CreateBookingLimit : IReturn<BookingLimit>
{      
  public int ShiftId { get; set; }
  public DateTime StartDate { get; set; }
  public DateTime EndDate { get; set; }
  public int Limit { get; set; }    }
}

Auch wenn wir die Bearbeitung hinzufügen wollten - sollten wir die gleichen Modelle einfügen und bearbeiten und die ID hinzufügen?

[Route("/bookinglimits/","POST")]
[Route("/bookinglimits/{Id}/","PUT")]
public class CreateBookingLimit : IReturn<BookingLimit>
{      
  public int Id { get; set; }
  public int ShiftId { get; set; }
  public DateTime StartDate { get; set; }
  public DateTime EndDate { get; set; }
  public int Limit { get; set; }    }
}

Ich versuche, meinen Kopf herumzureißen, wenn es am sinnvollsten ist, POCOs wiederzuverwenden und wenn es sinnvoller ist, Absichten zu trennen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage