我正在使用ngResource与我的Web API进行通信。 我想向我的WebAPI控制器发送搜索请求,但对象不是平的:
var searchRequest = {
query: "hotel",
page: 1,
price:
{
min: 1000,
max: 2500
}
}
我的控制器采用与发送对象相同结构的SearchRequest参数,因此请求应该看起来像
http://localhost/api/search?query=hotel&page=1&price.min=1000&price.max=2500
然而,ngResource $resource.query(searchRequest)
正在发送此信息:
http://localhost/api/search?query=hotel&page=1price=%7B%22min%22:1000,%22max%22:2500%7D
答案 0 :(得分:0)
如果是我,我会将其更改为使用返回IQueryable的OData属性端点。然后在前端使用breeze.js生成查询。看看这些:
http://breeze.github.io/doc-js/server-odata.html
我可能错了,但我认为这不适用于嵌套查询。另一种解决方案可能是展平查询,然后使用linq投影或者自动投影投影来查询数据源,但这取决于你的linq提供商可以处理的内容