问题:
从 WCF 迁移时,为 ServiceStack 服务设计最佳请求 DTO 可能具有挑战性风格的 RPC 服务。尝试减少重复代码并有效处理多个请求场景时会出现问题。
最佳实践:
基于消息的设计:
按调用语义和响应分组类型:
重构示例:
考虑以下重构 GetBookingLimit 和 GetBookingLimits 的示例services:
原文:
[Route("/bookinglimit", "GET")]<br>public class GetBookingLimit : IReturn<getbookinglimitresponse><br>{<pre class="brush:php;toolbar:false">public int Id { get; set; }
}
公共类 GetBookingLimitResponse
{
// ...
}
[Route("/bookinglimits ", "GET")]
公开课GetBookingLimits : IReturn
{
public DateTime Date { get; set; }
}
公共类GetBookingLimitsResponse
{
// ...
}
重构:
[ Route("/bookinglimits/{Id}")]<br>公开课GetBookingLimit : IReturn<bookinglimit><br>{<pre class="brush:php;toolbar:false">public int Id { get; set; }
}
公共类 BookingLimit
{
// ...
}
[Route(" /bookinglimits/search")]
公开课FindBookingLimits : IReturn>
{
public DateTime BookedAfter { get; set; }
}
其他注意事项:
以上是如何优化ServiceStack请求DTO设计以实现高效的服务实施?的详细内容。更多信息请关注PHP中文网其他相关文章!