私は決定的な選択をすることができず、誰か(または数人の組み合わせ)がRestSharpとServiceStackのクライアントサービスの使用の違いを指摘してくれることを望んでいました(私はすでにServiceStackをサービスに使用していることに注意してください) 。これが私がこれまでに持っているものです(違いのみ)。それらは実際に非常に類似しているため、リストはかなり小さいです。
ServiceStack
長所
- すでに作成したサービスPOCOオブジェクトからの流暢な検証
- クライアントとサービスの両方に1つのAPI
- コードの読み取りが向上します(つまり、Get <>()、Post <>())
短所
- 一部の文字列を書き出す必要があります(つまり、クエリパラメータを使用してGETリクエストを行う場合は、コードでその文字列を作成する必要があります)
- 要求/応答タイプ(JsonServiceClient、XmlServiceClient)ごとに異なるクラスを作成する必要があります
RestSharp
長所
- ほぼすべてがPOCOになる可能性があります(つまり、クエリパラメーターを使用してGETリクエストを行う場合は、コードを介してパラメーターを追加するだけです)
- リクエスト/レスポンスタイプの切り替えは簡単です(request.RequestFormat = DataFormat.Json / Xml)
短所
- 手動検証(データ注釈にあるものを超えて)
- 学習する2つのAPI(どちらもかなり単純なので、これはマイナーです)
- コードは一目で(ほとんど)読めません(つまり、request.Method = Get / Post ..であり、メインの呼び出しはExecute <T>()です)
私はRestSharpに傾倒していました。それは、POCOを直接使用し、文字列操作をほとんど行わない傾向があるためですが、ServiceStackは、より読みやすい検証とコードを取得するのに適していると思います。
だから、ここに質問があります:
- どっちがいい?
- なぜ一方が他方の上にあるのですか?
私はこれが完全に主観的な質問ではないことを知っていますが、少なくとも私はこの質問に対する答えを探しています(これは主観的です):
- 私の発見のいずれかが間違っているか、および/または私が見逃したものがありますか?