Problem:
Das Entwerfen optimaler Anforderungs-DTOs für ServiceStack-Dienste kann bei der Migration von WCF eine Herausforderung sein -artige RPC-Dienste. Beim Versuch, doppelten Code zu reduzieren und mehrere Anforderungsszenarien effizient zu bearbeiten, treten Probleme auf.
Best Practices:
Nachrichtenbasiertes Design:
Gruppierung nach Anrufsemantik und Antwort Typen:
Re-Factoring Beispiel:
Betrachten Sie das folgende Beispiel für die Umgestaltung der Dienste GetBookingLimit und GetBookingLimits:
Original:
[ Route("/bookinglimit", "GET")]<br>öffentliche Klasse GetBookingLimit : IReturn<GetBookingLimitResponse><br>{</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">public int Id { get; set; }
}
public class GetBookingLimitResponse
{
// ...
}
[Route("/bookinglimits ", "GET")]
öffentliche Klasse GetBookingLimits : IReturn
{
public DateTime Date { get; set; }
}
öffentliche Klasse GetBookingLimitsResponse
{
// ...
}
Refaktorisiert:
[ Route("/bookinglimits/{Id}")]<br>öffentliche Klasse GetBookingLimit : IReturn<BookingLimit><br>{</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">public int Id { get; set; }
}
public class BookingLimit
{
// ...
}
[Route(" /bookinglimits/search")]
öffentliche Klasse FindBookingLimits : IReturn>
{
public DateTime BookedAfter { get; set; }
}
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich das ServiceStack Request DTO-Design für eine effiziente Serviceimplementierung optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!