2016-08-29 3 views
1
HttpResponseMessage r = new HttpResponseMessage(); 
    r.StatusCode = HttpStatusCode.OK; 
    r.ReasonPhrase = "SUCCESS"; 

HttpResponseMessageで顧客オブジェクトをクライアント側に渡すにはどうすればよいですか?HttpResponseMessageで得意先データを返す方法

片道私は応答をこのように返すようにしたくない場合はreturn Request.CreateResponse(HttpStatusCode.OK, customers);

が想定されるRequest.CreateResponse(HttpStatusCode.OK, customers);むしろ私はHttpResponseMessageのインスタンスを作成したいといくつかのプロパティを初期化してから返します。だから、私の顧客オブジェクトをクライアント側にHttpResponseMessage classで渡すことができますか?

return Request.CreateResponse(HttpStatusCode.OK, customers); 

ボンネットの下に、この方法は、あなたがあまり気にしないあなたのためのコンテンツネゴシエーションを扱いますので:

答えて

2

簡単な方法は、あなたが要求に基づいて応答を作成する必要があります。それ以外の場合は、次のコードで手動で処理する必要があります。

IContentNegotiator negotiator = this.Configuration.Services.GetContentNegotiator(); 

ContentNegotiationResult result = negotiator.Negotiate(
    typeof(Customer), this.Request, this.Configuration.Formatters); 

var response = new HttpResponseMessage 
{ 
    StatusCode = HttpStatusCode.OK, 
    Content = new ObjectContent<Customer>(customer, 
     result.Formatter, result.MediaType) 
}; 

return response; 
関連する問題