我有2层REST API,第一层是NoSQL DB,第二层是Java Play Framework层,在大多数情况下是一个pass-thru层,具体取决于端点。
我呼叫的端点是:
/记录/ ID / {?标识符}
如果我将邮递员电话(Chrome REST客户端)发送到localhost:9000 / record / id / myidentifier(Java Play图层),我会获得正确的ETag值。
如果我对localhost进行邮递员调用:9001 / record / id / myidentifier(DB REST API层),我会得到正确的ETag值。
在angularjs方面,我使用$ http来检索记录并从响应头获取ETag值(调用Java Play REST API),但 ETag不是正确的价值,它是别的东西,它是正确的格式,但实际值是不正确的,我不明白为什么哦为什么......
有没有人有类似的问题?这是某种缓存问题吗?我此时无能为力,没有任何意义......
...more stuff here ...
var ETag = "";
recordService.recordById (id)
.success(function (data, status, headers) {
ETag = headers ('ETag');
recordService.changeRecordState (id, state, ETag, $scope.role)
.success (function (data, status, headers) {
// All good reload data
$scope.runSearch();
});
});
实际服务:
this.recordById = function (id) {
var endpoint = "/record/id/"
return $http (
{
url: url + endpoint + id,
method: "GET",
headers: { "Accept": "application/json" }
})
}