2016-09-08 13 views
1

Angular JSからJava REST APIを呼び出すときに、Restangularを使用しています。私はネットワークタブで適切な応答を見ることができますが、コンソールで同じログを記録しようとしたり、htmlファイルに表示しようとすると、応答オブジェクトに空の配列があります。私は私のapp.jsで定義された以下の構成は空の配列を返す矩形のgetList()

Console

コンソール

.config(/*@ngInject*/function(RestangularProvider) { 
    RestangularProvider.setBaseUrl('http://localhost:8080/'); 
RestangularProvider.setFullResponse(true); 
RestangularProvider.addResponseInterceptor(function(data, operation, what, url, response, deferred) { 
    var extractedData; 
    if (operation === "getList") { 
     extractedData = data.result; 
    } else { 
     extractedData = data; 
    } 
    return extractedData; 
    }); 
}) 

を提出している

class TestClass { 
/*@ngInject*/ 
constructor($log, Restangular) { 
this.Restangular = Restangular; 
this.$log = $log; 
this.test = "somethings"; 
var me = this; 
this.Restangular.all('api/people/').getList().then(response => { 
    this.test = response; 
    console.log(response); 
}); 
} 

ネットワーク

Network

+0

... Restangular getList()からの応答が他のいくつかのdata財産でdata.resultずにあることを確認すべきですか? – MarcoS

+0

レスポンスインターセプターangle.min.jsを削除すると、以下のエラーが発生します。107エラー:getListの応答がオブジェクトではなく配列である必要があります。 q(restangular.min.js:6) .min.js:118 at n。$ eval(angular.min.js:133) at n。$ digest(angular.min.js:130) at n。$ apply(angular.min.js:133) ) at g(angular.min.js:87) at K(angular.min.js:91) at XMLHttpRequest.A.onload(angular.min.js:92) – mrnair

+0

Okしかし、Restriction 'getList()'からの応答は 'data.result'にありますか? – MarcoS

答えて

0

あなたが回答インターセプタを追加しない場合はどう

関連する問題