2012-10-03 4 views
11

私は2週間前に出てきた新しいAPIを見ています。それはのようですServiceStack IReturn

ReqDTO : IReturn<List<ResDTO>> { //... } 

"IReturn"ビットはオプションのようですか? RazorRockstarsデモプロジェクトのDTOは、それなしで動作します。

答えて

17

これは、ServiceStack's New APIに新たに追加されたもので、要求DTOが返す期待応答タイプを文書化することができます。

List<ResDTO> response = client.Get<List<ResDTO>>(new ReqDto()); 
:あなたはIReturnマーカーを持っていなかった場合は、クライアントの呼び出しがどのように見えるしなければならない

List<ResDTO> response = client.Get(new ReqDto()); 

あなたがC#サービスクライアントのいずれかを使用して呼び出すことができます
ReqDTO : IReturn<List<ResDTO>> { ... } 

あなたのサービスのクライアント/消費者が知る必要があるものはどれですか。 DTO上にマーカーがある場合、応答タイプは既にわかっています。

マーカーは、ServiceStackの/metadataページのHTTP応答で使用されている応答DTOを特定するためにも使用されます。

+0

ServiceStack 3.9.xを使用していて、 'IReturn'がまったく強制されているのか疑問に思っていますか?つまり、指定した型と一致しないデータがエンドポイントから返された場合、例外をスローする必要がありますか? – JaKXz

1

私の知る限り、これはリクエスト/応答DTOを定義する便利な方法です。 これは自由に使用できます。

1

ポータブルクラスライブラリでDTOを定義する場合、IReturnを使用することはできません。 IReturnはServiceStackのPCLで定義する必要があります。ちょっとした考え。

関連する問題