$ http headers(“etag”)返回不正确的值

时间:2015-02-09 16:58:33

标签: java angularjs rest playframework

我有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" }
    })
}

0 个答案:

没有答案