2016-05-18 6 views
3

私は小さなアプリケーションをやっています。私は昨日、私が本当に理解できなかったこのことについて気付きました。NgResourceは地図を要求します。

私のコントローラはJavaでリクエストをリッスンしていますが、複数の値を持つMapを返します。しかし、コントローラでngResourceを使用すると、.query()メソッドの代わりに.get()メソッドを呼び出しています。次に、ビュー上で応答を繰り返すことができます。x in response...のようなもので.get()を取得します。 query()は配列用であり、get()は1つのオブジェクト用です。

誰かがこれを説明できますか? 「だから、

Error in resource configuration for action Error in resource configuration for action {0} . Expected response to contain an {1} but got an {2} (Request: {3} {4}) . Expected response to contain an query but got an array (Request: object GET)

、私はまだドン:感謝

EDITだから、私は{"1":"PRUEBA","2":"HOLA"}からrecivingてるJSONはこれです、と私は、私は次のエラーを取得しています.query()を使用している場合私は配列を取得していた場合、私はに.getが必要なのですか、なぜtはデフォルトのクエリで...

答えて

1

を理解して配列を返し、あなたはOできないではない

{ 'get': {method:'GET'}, 
    'save': {method:'POST'}, 
    'query': {method:'GET', isArray:true}, 
    'remove': {method:'DELETE'}, 
    'delete': {method:'DELETE'} }; 

を取得verwrite取得または別のURLと、他の機能を作成し、trueにでIsArrayを設定:

angular.module('myModule').factory('myResourceFactory', function($resource, apiHost) { 
    return $resource(apiHost + '/myresources/:myresourceId', null, { 
     'query': { method:'GET', url: apiHost + '/myresources/:myresourceId/somethings',isArray: true} 
    }); 
}); 

クエリ方法は、配列を期待[{OBJ1}、{OBJ2}]

は、GETメソッドは、オブジェクトが期待しますあなたの場合は、get()メソッドを使用する必要があります。{{1}: "PRUEBA"、 "2": "HOLA"}

+0

私はそれを理解していますが、Javaのコントローラーはマップ上に2つの値を返し、私はapiHos.myFunction()。get()によってサービスを呼び出します。 apiHos.myFunction()。queryを使用すると、エラーが発生します。マップオブジェクトを返すには、.query()を実行する必要がありますが、それは私が実際に理解できないものだと思っていました。おそらく私はうんざりしていますか? haha – txomin

+0

クエリを使用するときに表示されるエラーは何ですか?あなたはあなたのapiによって返された結果の例を私に与えることができますか? – MayK

+0

確信していますが、私はコードのすぐ前にいません...できるだけ早く質問を編集します。ありがとうございます.Mayk !!! – txomin