我想转换 Angular 的 ngResource 的 query() 响应。通过覆盖每个工厂/资源中的方法来做到这一点没有问题,但我怎样才能做到这一点,以便我的转换适用于所有资源中的所有 query() 方法?
我尝试过使用$httpProvider.defaults.transformResponse
,但我看不出有什么方法可以区分 query() 调用和所有其他调用。
我想返回分页元数据 - 也许还有另一种更清晰的方法?
我想转换 Angular 的 ngResource 的 query() 响应。通过覆盖每个工厂/资源中的方法来做到这一点没有问题,但我怎样才能做到这一点,以便我的转换适用于所有资源中的所有 query() 方法?
我尝试过使用$httpProvider.defaults.transformResponse
,但我看不出有什么方法可以区分 query() 调用和所有其他调用。
我想返回分页元数据 - 也许还有另一种更清晰的方法?
如果您可以控制端点,则可以添加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;
});