使用 angular-spring-data-rest 时读取响应 headers

Read response headers when using angular-spring-data-rest

在使用 SpringDataRestAdapter$http 时,我无法找到读取响应 headers 的方法。我可以成功读取和处理响应 object,但我需要能够在 HTTP Header.

中存储 return 的 ETag

我找不到任何关于 HTTP Header 的提及,有人知道如何找到它们吗?

function getData(uri) {

  var deferred =  $http({
    method: 'Get',
    url: uri
  });

  return SpringDataRestAdapter.process(deferred).then(function (processedResponse) {

    return processedResponse;

  });

}

理论上,您应该能够将 then 链接到您的 $http GET 调用,并将结果承诺用作 SpringDataRestAdapter 的输入。像这样:

function getData(uri) {

  var deferred =  $http({
    method: 'Get',
    url: uri
  }).then(function(response) {
     // save ETag from response.headers
     ...

     return response;
  });

  return SpringDataRestAdapter.process(deferred).then(function (processedResponse) {

    return processedResponse;

  });

}

顺便说一句,您还可以使用 shorthand 进行 $http 调用:

$http.get(url).then(...)