4

過去数日間、HttpResponseMessage 型を Web API アクションの戻り型として使用する方法の素晴らしい例をいくつか見てきました..これにより、HttpMessage 全体を「偽造」できるため、単体テストが非常に簡単になります。ユニットテストでWebClientなどを使用して実際のリクエストを実際に再度実行する必要があり、Visual Studioの2つのインスタンスを実行する必要がある通常の場合に得られる..

とにかく.. HttpResponseMessage でこのアプローチを使用したいとしましょう.. しかし、新しい IQueryable-OData-thingy も使用したいと思います.. ..少なくとも私が知る限り、1つしかないはずです...

したがって、HttpResponseMessage アプローチは、IQueryable と OData を使用してアイデア全体を「壊す」ようなものです..または私は正しいですか?

前もって感謝します!

4

2 に答える 2

3

IQueryable<T>response.Content が ObjectContent であり、 orが含まれている場合、Queryable は機能しますIEnumerable<T>Request.CreateResponseヘルパーを使用して応答を作成している場合、クエリは機能します。また、FYIとしてTask<IQueryable<T>>も機能します。

于 2013-03-08T22:16:14.293 に答える
1

HttpResponseMessage を返す Web API を持つことができ、[EnableQuery]属性を設定するだけで OData を使用できます。

[EnableQuery]
public HttpResponseMessage Get(MyModel model)
{
    if (!ModelState.IsValid) return Request.CreateResponse((HttpStatusCode)422, "Unprocessable Entity");

    //your-code-here

    return Request.CreateResponse(HttpStatusCode.OK, myEnumerable);
}
于 2015-06-26T09:18:39.563 に答える