在过去的几天里,我已经看到了一些很好的例子,说明了如何使用HttpResponseMessage类型作为Web API动作的返回类型。这使得单元测试变得更加容易,因为它可以“伪造”整个HttpMessage,你会在任何正常的情况下,你需要再次实际请求使用WebClient或类似测试中的操作,并且还需要运行两个Visual Studio实例。
无论如何..让我说我想在HttpResponseMessage中使用这种方法..但我也想使用新的IQueryable-OData-thingy ..甚至可能..因为我想我会查询一个一堆HttpResponseMessages ..至少据我所知,只有一个关闭......
因此,HttpResponseMessage方法会使用IQueryable和OData“打破”整个想法......或者我是对的吗?
提前致谢!
答案 0 :(得分:3)
如果response.Content是一个ObjectContent并包含IQueryable<T>
或IEnumerable<T>
,则可以使用Queryable。如果您使用Request.CreateResponse
帮助程序创建响应,则查询将起作用。此外,作为一个FYI,Task<IQueryable<T>>
也会起作用。
答案 1 :(得分:1)
我设法让一个web api返回一个HttpResponseMessage,并且仍然可以通过设置mMediaPlayer.setDataSource(tracks.get(position).path);
属性来使用OData:
[EnableQuery]