全局转换ngResource查询()

时间:2013-12-30 01:08:41

标签: javascript angularjs rest ngresource

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

我尝试过使用$httpProvider.defaults.transformResponse,但我认为无法区分query()调用和所有其他调用。

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

1 个答案:

答案 0 :(得分: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;
});