ServiceStack Request DTO 設計
WCF や WebAPI などの Web サービス フレームワークでは、API 呼び出しを、特定のシグネチャを備えた通常の C# メソッド呼び出しとして考えることが推奨されています。それぞれのリクエスト。対照的に、ServiceStack は、クエリ全体がリクエスト メッセージにキャプチャされるメッセージ ベースのアプローチを採用しています。これには次のような利点があります。
GetBooking の制限の再ファクタリングサービス
これらの概念を GetBookingLimit サービスと GetBookingLimits サービスに適用して、次の点を考慮してください。
リファクタリングされたコード:
[Route("/bookinglimits/{Id}")] public class GetBookingLimit : IReturn<BookingLimit> { public int Id { get; set; } } [Route("/bookinglimits/search")] public class FindBookingLimits : IReturn<List<BookingLimit>> { public DateTime BookedAfter { get; set; } } [Authenticate] public class BookingLimitService : AppServiceBase { public BookingLimit Get(GetBookingLimit request) { return new BookingLimit {...}; } public List<BookingLimit> Get(FindBookingLimits request) { return new List<BookingLimit> {...}; } }
エラー処理および検証
これらの原則に従うことで、ServiceStack のメッセージベースのアプローチを使用してリクエスト DTO を効果的に設計および実装できます。コードのドライさと明瞭さを促進します。
以上がServiceStack のメッセージベースのアプローチはリクエスト DTO 設計をどのように改善できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。