ServiceStackWebFrameworkのすべてのドキュメントはwikiにあります。
ServiceStackの新しいAPIは今週リリースされたばかりで、すでにすべての質問に対する回答が含まれています。私は戻ってそれらを完全に読みますが、あなたの質問に答えるスニペットを抽出します:
どのインターフェース/基本クラスを使用するか、そしてそれらは何をするかを実際に述べているドキュメントはありますか?
「新しいAPIの紹介」セクションは次のとおりです。
新しいAPI設計は、この単一の統合インターフェースを使用して、既存のIServiceとIRestServiceを簡素化します。
public interface IService {}
これで、RPCサービスとRESTサービスの両方のリクエストを1つのクラスで処理できるようになりました。このインターフェースは、ServiceStackが既存のサービスを検索、登録、自動配線するために使用するマーカーインターフェースとして使用されます。ServiceStackのプロバイダーに簡単にアクセスできる便利な具体的なサービスクラスも含まれています
新しいAPIデザインは、IReturnインターフェイスを実装するDTOの例と、サービスから継承するサービスを示していますが、これが現在推奨される方法であるかどうかについての説明はありません。
ウィキの上部にある見出しは次のとおりです。
将来のWebサービス開発に推奨
新しいAPIデザインには、既存のAPIに比べて多くの利点があるため、新しいWebサービスの開発に使用することをお勧めします。少し時間がかかりますが、古い例をすべて移植して、新しいAPIを自分たちで採用する予定です。古いAPIを引き続き好む理由の1つは、以前のアプローチで適用された厳密さを依然として必要とするSOAPクライアントとエンドポイントもサポートしたい場合です。
インスピレーションの見出しの下に次のように書かれています。
この提案の利点は、ServiceStackの既存のメッセージベースのセマンティクスにすでに完全に適合していることです。つまり、既存のコードベースを中断したり変更したりすることなく、記録的な速さで実装できました。その結果、既存のサービスと一緒に新しいサービスの作成を開始できるようになり、両方がシームレスに並行して機能し続けます。
IReturnを実装する必要がありますか
「型付きC#クライアントからのサービスの呼び出し」という見出しの下には次のようなものがあります。
DTOを(バイナリ形式のいずれかのソースで)コピーする通常のルートを使用して、クライアントに次のようなものがあるとします。
[Route("/reqstars")]
public class AllReqstars : IReturn<List<Reqstar>> { }
クライアントのコードは次のようになります。
var client = new JsonServiceClient(BaseUri);
List<Reqstar> response = client.Get(new AllReqstars());
これにより、/reqstarsルートへのGETWebリクエストが作成されます。カスタムルートがクライアントに存在しない場合、ServiceStackの事前定義されたルートの使用に自動的にフォールバックします。
最後に、以前のより明示的なクライアントAPIを使用することもできます(IReturn <>マーカーがない場合に最適です)。
var response = client.Get<List<Reqstar>>("/reqstars");
これらすべてのAPIには、必要に応じて代わりに使用できる同等の非同期機能があります。
POST / GET / etcの処理方法、
APIドキュメント全体は、PostのGetがどのように機能するかを効果的に説明しています。client.Get()
サーバー上でを呼び出すクライアント上にがあります。存在しない場合は、Get()
を使用するようにフォールバックします。Any()
Wikiページの下部には、古いAPIから新しいAPIにサービスを手動で移植する方法が記載されています。
そして、新しいAPIを使用したいくつかの例を次に示します。