2016-04-05 3 views
1

JsonServiceClientを使用してThirdParty APIを呼び出しています。ServiceStack:JsonServiceClientからStatusCodeを取得する方法

var client = new JsonServiceClient(ServiceURL); 
var response = client.Get<Output>("Search?id=" + id); 

出力は、サードパーティAPIからの応答を表すクラスです。私は正しく出力を得ることができます。しかし、私はこのAPIレスポンスのStatusCodeを取得したい。これどうやってするの?

注出力(応答クラス)の代わりにWebHttpResponseオブジェクトを試しました。しかし、statuseCodeはOutputクラスのパラメータではなく、 WebHttpResponseのプロパティでなければなりません。これを達成する方法はありますか?

答えて

4

あなたが応答フィルタを使用する必要があります、例えば:

var client = new JsonServiceClient(ServiceURL) { 
    ResponseFilter = res => res.StatusCode.ToString().Print() 
}; 

ServiceStackサービスクライアントのみサードパーティのAPIを消費するため、ServiceStackサービスを消費するためのものです。しかし、私が代わりにHTTP Utilsを使用してお勧めします、例えば:

var response = ServiceURL.CombineWith("Search").AddQueryParam("id",id) 
    .GetJsonFromUrl(responseFilter:res => res.StatusCode) 
    .FromJson<Output>(); 
関連する問題