【问题标题】:Globally transform ngResource query()全局转换 ngResource query()
【发布时间】:2014-04-15 02:15:32
【问题描述】:

我想转换 Angular 的 ngResource 的 query() 响应。通过覆盖每个工厂/资源中的方法来做到这一点没有问题,但我怎样才能做到这一点,以便我的转换适用于所有资源中的所有 query() 方法?

我尝试过使用$httpProvider.defaults.transformResponse,但我看不出有什么方法可以区分 query() 调用和所有其他调用。

我想返回分页元数据 - 也许还有另一种更清晰的方式?

【问题讨论】:

  • 天哪...错字:) ngResource!
  • 你能附上一些代码,显示所需的转换。
  • 好吧,与其说是任何特定的转换,不如说是一个问题,即如何区分通过全局 transformResponse 运行的所有查询 - 我目前正在设置标题并检查这些以查看是否它们匹配,但太糟糕了,我回去修改每个单独的资源工厂

标签: javascript angularjs rest ngresource


【解决方案1】:

如果您可以控制端点,则可以添加 X-Total-Count 标头 (https://github.com/drahak/Restful#paginator)。然后您的$httpProvider.defaults.transformResponse 可以检测到标头的存在以解析分页信息。

$httpProvider.defaults.transformResponse.push( function( data, headersGetter ) {
  if( headersGetter('X-Total-Count') ) {
    // CUSTOM PAGING PROCESSING HERE
    console.info('Results Count', headersGetter('X-Total-Count'));
  }

  return data;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    相关资源
    最近更新 更多