【问题标题】:Can ngResource pass nested object into GET query?ngResource 可以将嵌套对象传递给 GET 查询吗?
【发布时间】:2016-02-06 04:58:29
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: angularjs asp.net-web-api2 ngresource


    【解决方案1】:

    如果是我,我会将其更改为使用返回 IQueryable 的 OData 属性端点。然后在前端使用微风.js 来生成查询。看看这些:

    https://ovaismehboob.wordpress.com/2014/01/18/adding-queryable-support-to-asp-net-web-api-controller-action-methods/

    http://breeze.github.io/doc-js/server-odata.html

    我可能是错的,但我认为这不适用于嵌套查询。另一种解决方案可能是展平查询,然后使用 linq 投影或 automapper 投影来查询数据源,但这取决于您的 linq 提供者可以处理的内容

    【讨论】:

      猜你喜欢
      • 2017-01-15
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 2019-04-06
      • 2014-09-11
      相关资源
      最近更新 更多