2016-05-19 17 views
1

私は単純なリソースを持っています。

angular.module('app').factory('nmCategory', function($resource){ 
    var categoryResource = $resource('/api/categories/:id',{id:"@id"}, { 
     update: {method: 'PUT', isArray : false}, 
     get: {method: 'GET' }, 
    }); 

    return categoryResource; 
}); 

私がnmCategory.query()を呼び出したとき、私はすべての結果を返します。しかし、私はIDでフィルタリングしようとしています。それは単一のレコードのehre idには@idです。私はその後、nmCategory.get({id: 1});を試してみて、私の驚きに、私は私の単一のレコード私のIDを取得するために期待していた、それが失敗し、

/API /カテゴリ/ 1(404)

が見つかりません返します。私はもっ​​と多くの例をオンラインで検索しましたが、私は何をしているのか反論していません。どうすればいいですか?どんな助けもありがとう。

+1

あなたはあなたのネットワークインスペクタを見てどのURLがリクエストされているか見ることができます。http //:localhost .../api/categories/1 ??あなたはどこでAPIを扱いますか? – MayK

答えて

2

ブラウザーでそのURLに移動し、それが機能するかどうかを確認します。おそらくそうではありません。これはバックエンドの問題である可能性が高く、Angularの問題ではありません。

+0

別のバッククエリーをもう一度追加する必要がありますか?私はノードを使用していて、/ api/categories/1をBEに追加しようとしています。あなたが提案したように、エラーは消えます。しかし、私のクエリはフィルタリングされていません。 BEから再びフィルタリングする必要がありますか? –

+0

私はあなたに従うかわからない。ブラウザでそのURLに移動すると、予想されるデータが表示されますか?もしそうなら、あなたはすでにノードでそれを処理するように設定されています。そうでない場合は、そのタイプのリクエストを処理する方法を知っているノード内のルートが必要です。 –

+0

いいえ、データが表示されません。そのルートが追加されました。その後、それは消えます。これであなたは正しいです。私の混乱は、以前はすべてのクエリを返しています。私は、DBに再度問い合わせることなく、フロントエンドのIDで結果をフィルタリングできるはずです。それは私が推測するか、私は私の新しいパラメータIDとクエリする必要がありますか? –

関連する問題